Skip to main content
GrN.dk

Main navigation

  • Articles
  • Cases
  • Contact
  • Your Digital Project Manager
  • About Greg Nowak
  • Services
  • Portfolio
  • Container
    • Excel Freelancer
    • Kubuntu - tips and tricks
    • Linux Apache MySQL and PHP
    • News
    • Image Gallery
User account menu
  • Log in

Join my community / free newsletter — sign up here

Breadcrumb

  1. Home

HubSpot OAuth v1 Is Going Away: A Practical Plan for Older CRM Integrations

Illustrated infographic summarizing: HubSpot OAuth v1 Is Going Away: A Practical Plan for Older CRM Integrations

By Greg Nowak. Last updated 2026-07-24.

HubSpot’s legacy OAuth v1 endpoints will remain available until February 16, 2027. After that date, v1 calls will begin returning errors. For an older CRM integration, that can mean failed token refreshes, disconnected workflows, broken reporting, or an app that appears healthy until its next authentication request.

This is particularly relevant to businesses with custom middleware, agency-built apps, internal reporting tools, lead-routing services, or integrations inherited from a previous supplier. The visible CRM workflow may be stable while the authentication code underneath it is years old.

The good news is that HubSpot has kept the migration reasonably contained. The installation URL, consent screen, and requested scopes do not change. The main work is in the backend: finding every legacy OAuth call, replacing it, checking the new response model, and proving the full token lifecycle still works.

First, establish whether you are affected

Do not start by assuming that “the HubSpot integration” is one application. Authentication logic often appears in the main service, background workers, serverless functions, support utilities, test fixtures, and scripts used only when a customer disconnects.

Search repositories and deployment configuration for the legacy paths:

rg -n '/oauth/v1/(token|access-tokens|refresh-tokens)' .

Also inspect API gateway logs, APM traces, environment-specific configuration, CI/CD variables, third-party automation tools, and any shared OAuth wrapper used across client projects. If HubSpot sent a marketplace-app notification containing affected app IDs, use that list as the starting point—but not as proof that you have found every call.

Finding Priority Recommended response
Production code calls OAuth v1 Immediate Inventory the affected customers and schedule migration and regression testing.
A background refresh worker uses v1 Immediate Update it early; failure could affect every connected account as tokens expire.
Only tests or old scripts reference v1 Medium Confirm they are genuinely unused, then update or retire them so they cannot be restored later.
The integration uses OAuth v3 Planned Move to the date-based 2026-03 paths and confirm sensitive fields are sent only in request bodies.
No source code or technical owner can be found High Treat ownership and recoverability as project risks, not merely documentation gaps.
A practical triage matrix for deciding where the OAuth migration work should begin.

What changes in the new API

The legacy token endpoint, token-information lookups, and revoke call are replaced by three date-based endpoints:

  • POST /oauth/2026-03/token handles the authorization-code exchange and token refresh.
  • POST /oauth/2026-03/token/introspect replaces the old access-token and refresh-token metadata requests.
  • POST /oauth/2026-03/token/revoke replaces deletion of a refresh token during disconnect or uninstall.

Sensitive parameters must be supplied as application/x-www-form-urlencoded request-body fields, rather than being placed in the request URL or path. This reduces the chance of client secrets and tokens being retained by proxies, logs, browser history, or monitoring systems.

Refresh logic should read the returned expires_in value instead of relying on a hard-coded assumption. HubSpot currently documents 30-minute access tokens, but code should still honour the response. Avoid imposing a fixed storage-length limit on tokens, because HubSpot does not define a maximum token size.

Introspection is more than an endpoint rename. Its response includes fields such as active and token_use, so any code that consumes the old metadata model must be updated. Error handling should use the standard error and error_description fields. HubSpot’s older status and message fields remain available for compatibility, but they should not be the foundation of new conditional logic.

Treat this as a small migration project, not a search-and-replace

A dependable delivery plan has five parts:

  1. Inventory: record each affected app, repository, environment, customer group, endpoint, and technical owner.
  2. Update: replace token exchange, refresh, introspection, and revocation calls. Keep secrets out of URLs and redact OAuth callback query strings from logs.
  3. Test: exercise a new installation, an existing refresh token, access- and refresh-token introspection, disconnect or uninstall, invalid credentials, revoked tokens, and expired authorization codes.
  4. Release: deploy in stages where possible. Monitor OAuth-related 4xx responses, refresh failures, reauthorization requests, and disconnect errors.
  5. Close: rerun the legacy-path search, review production telemetry, remove temporary compatibility code, and capture evidence that no v1 traffic remains.

Testing only a fresh installation is not enough. Older customer accounts may have different token records, scopes, or operational paths. Include at least one representative long-running connection in the rollout plan, without exposing its credentials in test output.

Keep platform-version work separate

Some teams will discover a second issue while auditing the app: an old HubSpot developer-platform version. That work may share developers and test environments with the OAuth migration, but it is not the same change.

For a project already on platform version 2025.2, HubSpot documents changing platformVersion in hsproject.json to 2026.03, then running hs project upload. Older project versions use hs project migrate; legacy public apps outside the projects framework use hs app migrate. HubSpot recommends CLI version 8.4.0 or later. Environment variables from an older serverless.json may need to be recreated with hs secret add.

Scope these tasks together only when doing so simplifies testing and ownership. Combining unrelated upgrades into one large release can make rollback and fault-finding harder.

What management should ask for

A business owner does not need a tour of OAuth internals. Ask for a short inventory, named owners, affected customers or workflows, a tested rollback approach, production monitoring, and a completion date comfortably ahead of February 16, 2027.

If the integration has unclear ownership or several agency handovers behind it, a focused technical audit is often the fastest way to turn the deadline into a bounded project. Talk to Greg about reviewing the integration and shaping a practical migration plan.

Related on GrN.dk

  • A Voice Agent Is Only Ready When the Human Handoff Works
  • The risky part of AI workflow pilots is often the OAuth screen
  • When AI writes JSON, one bad field can break the workflow

Need help with this kind of work?

Plan your HubSpot integration migration Get in touch with Greg.

Sources

  • v1 OAuth API Deprecation
  • Migrate from the OAuth v1 API to the Latest Date-Based Versioned API
  • Manage OAuth Access Tokens with the 2026-03 API
  • Migrate an Existing App to the Latest Developer Platform Version (2026.03)
Last modified
2026-07-28

Tags

  • hubspot
  • oauth
  • CRM integrations
  • hubspot apps
  • integration security

Review Greg on Google

Greg Nowak Google Reviews

 

Illustrated infographic summarizing: MCP Just Went Stateless: Audit the Integrations Behind Your AI Tools
MCP Just Went Stateless: Audit the Integrations Behind Your AI Tools
2026-08-03

The 28 July 2026 MCP release removes protocol sessions and changes discovery, tasks, caching, OAuth and tracing. A practical guide to auditing the move.

Illustrated infographic summarizing: SEO Trends for 2026: What Actually Changed Since 2024
SEO Trends for 2026: What Actually Changed Since 2024
2026-08-03

A practical guide to what changed in SEO between 2024 and 2026, from AI and multimodal search to Core Web Vitals, privacy and local visibility.

Illustrated infographic summarizing: INP and Green SEO Share a Backlog: Cut the Work Every Visit Repeats
INP and Green SEO Share a Backlog: Cut the Work Every Visit Repeats
2026-08-03

INP and sustainable web work often expose the same waste. Use field data, profiling, caching and performance budgets to build one practical backlog.

Illustrated infographic summarizing: AI crawler policy now has verbs: separate search, RAG, and training
AI crawler policy now has verbs: separate search, RAG, and training
2026-08-02

AI crawler rules now need separate decisions for search, RAG, and training, backed by practical testing across robots.txt, CDNs, WAFs, and CMS controls.

Illustrated infographic summarizing: WordPress Supports Old PHP; Your Production Server Shouldn’t
WordPress Supports Old PHP; Your Production Server Shouldn’t
2026-08-01

WordPress still runs on legacy PHP, but compatibility is not a security policy. Build and test your upgrade path before PHP 8.2 support ends.

Illustrated infographic summarizing: The AI-built tool your team relies on needs an owner
The AI-built tool your team relies on needs an owner
2026-07-31

AI-built internal tools can become business-critical before anyone owns them. Here is how to secure, review, monitor, and retire them without blocking useful work.

Illustrated infographic summarizing: Your AI model has an expiry date: build the migration lane now
Your AI model has an expiry date: build the migration lane now
2026-07-30

AI models retire on a schedule. Learn how to map dependencies, test replacements, release safely and preserve a working rollback route.

Illustrated infographic summarizing: Copilot Has Repo-Level Metrics Now. What Should Teams Measure?
Copilot Has Repo-Level Metrics Now. What Should Teams Measure?
2026-07-29

GitHub’s repo-level Copilot metrics show where AI is active, but not whether it adds value. This scorecard connects usage with delivery, quality, and cost.

Illustrated infographic summarizing: Not Every AI Job Needs an Instant Answer: Batch the Backlog
Not Every AI Job Needs an Instant Answer: Batch the Backlog
2026-07-28

Move delay-tolerant AI work into dependable batch queues to cut processing costs without compromising quality, data controls, or urgent workflows.

Illustrated infographic summarizing: A stray Set-Cookie can waste your CDN: audit the cache at the edge
A stray Set-Cookie can waste your CDN: audit the cache at the edge
2026-07-27

Cloudflare Cache Response Rules can recover wasted CDN capacity, but first you need a route-level audit of public, personal and authenticated responses.

More articles
RSS feed

GrN.dk web platforms, web optimization, data analysis, data handling and logistics.