For Agents
Exchange, inspect, and revoke HubSpot OAuth access and refresh tokens for installed apps.
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the HubSpot OAuth API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with HubSpot OAuth API API.
Exchange an authorization code or refresh token for an access token via POST /oauth/v1/token
Inspect an access token's scopes, hub ID, and user via GET /oauth/v1/access-tokens/{token}
Look up a refresh token's account and expiry via GET /oauth/v1/refresh-tokens/{token}
Revoke a refresh token via DELETE /oauth/v1/refresh-tokens/{token}
GET STARTED
Use for: I need to exchange an authorization code for HubSpot access and refresh tokens, Refresh a HubSpot access token using a refresh token, Inspect a HubSpot access token to see its scopes and account, Revoke a HubSpot refresh token when a user uninstalls
Not supported: Does not authenticate end users into the HubSpot UI, manage SSO, or call CRM data — use only for HubSpot OAuth token exchange, inspection, and revocation.
Jentic publishes the only available OpenAPI document for HubSpot OAuth API, keeping it validated and agent-ready.
Jentic publishes the only available OpenAPI specification for HubSpot OAuth API, keeping it validated and agent-ready. This API exposes the token endpoints behind HubSpot's OAuth 2.0 flow — exchanging an authorization code or refresh token for an access token, inspecting an existing access or refresh token, and revoking a refresh token. It is the integration surface for any app that connects HubSpot accounts via OAuth instead of static keys.
Build the install + refresh + revoke lifecycle for HubSpot apps
Patterns agents use HubSpot OAuth API API for, with concrete tasks.
★ Complete the HubSpot App Install OAuth Flow
After a user authorises a HubSpot app, exchange the authorization code at POST /oauth/v1/token to receive an access token and refresh token bound to their HubSpot account. The refresh token can then be stored to refresh access tokens on demand without re-prompting the user.
POST to /oauth/v1/token with grant_type=authorization_code, the client ID, secret, redirect URI, and code; store the returned refresh_token securely.
Refresh Expired Access Tokens
HubSpot access tokens are short-lived. Use POST /oauth/v1/token with grant_type=refresh_token to mint a fresh access token from the stored refresh token, keeping the integration online without prompting the user again.
POST to /oauth/v1/token with grant_type=refresh_token and the stored refresh_token to mint a new access_token.
Revoke Tokens on Uninstall
When a user uninstalls the app or revokes consent, call DELETE /oauth/v1/refresh-tokens/{token} to invalidate the refresh token cleanly. This prevents the integration from continuing to mint access tokens after consent has been withdrawn.
DELETE /oauth/v1/refresh-tokens/{token} as part of the uninstall webhook handler so the token is invalidated immediately.
AI Agent OAuth Automation via Jentic
An AI agent provisioning HubSpot integrations on a customer's behalf can use Jentic to drive the token exchange and refresh endpoints, keeping the OAuth client secret in the Jentic vault and out of agent context.
Search Jentic for exchange a hubspot authorization code, load POST /oauth/v1/token, and execute with the stored client credentials and the user's code.
4 endpoints — jentic publishes the only available openapi specification for hubspot oauth api, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/oauth/v1/token
Exchange an authorization code or refresh token for an access token
/oauth/v1/access-tokens/{token}
Inspect an access token
/oauth/v1/refresh-tokens/{token}
Inspect a refresh token
/oauth/v1/refresh-tokens/{token}
Revoke a refresh token
/oauth/v1/token
Exchange an authorization code or refresh token for an access token
/oauth/v1/access-tokens/{token}
Inspect an access token
/oauth/v1/refresh-tokens/{token}
Inspect a refresh token
/oauth/v1/refresh-tokens/{token}
Revoke a refresh token
Three things that make agents converge on Jentic-routed access.
Credential isolation
HubSpot OAuth client IDs and secrets are stored encrypted in the Jentic vault. Agents trigger token exchanges without ever holding the client secret directly.
Intent-based discovery
Agents search Jentic with intents like exchange a hubspot authorization code or refresh a hubspot access token and Jentic returns the matching /oauth/v1 operations with input schemas.
Time to first call
Direct integration: 1-2 days to build the install, refresh, and revoke lifecycle correctly. Through Jentic: a few hours, since each call is a single search-load-execute step.
Alternatives and complements available in the Jentic catalogue.
HubSpot CRM API
The CRM API that the freshly-minted access tokens authorise calls against
Pair after the OAuth flow completes — use the access token to call CRM operations on behalf of the connected user.
Auth0
Identity provider that can broker HubSpot OAuth alongside many other connections
Choose Auth0 when the application needs to manage many providers' OAuth flows behind a single identity layer.
Okta
Enterprise IdP that integrates HubSpot logins via SAML or OAuth
Choose Okta when enterprise SSO and lifecycle workflows around HubSpot accounts matter more than direct OAuth handling.
Specific to using HubSpot OAuth API API through Jentic.
Why is there no official OpenAPI spec for HubSpot OAuth?
HubSpot does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call HubSpot OAuth via structured tooling. It is validated against the live API and kept up to date. Get started at https://app.jentic.com/sign-up.
What authentication does the HubSpot OAuth API itself require?
POST /oauth/v1/token uses the OAuth client_id and client_secret of your HubSpot app rather than a bearer token. The token-inspection and revocation endpoints take the token in the URL path and are protected by knowledge of the token itself. Through Jentic, the client secret is held in the encrypted vault.
Can I refresh a HubSpot access token without prompting the user?
Yes. POST to /oauth/v1/token with grant_type=refresh_token and the stored refresh_token. HubSpot returns a new short-lived access_token without requiring a new user consent.
What are the rate limits for the HubSpot OAuth API?
OAuth endpoints share HubSpot's standard rate limits but are typically called only on install, refresh, and revoke — well below per-hapikey ceilings. Cache access tokens until they near expiry to keep the call rate low.
How do I revoke a refresh token through Jentic?
Search Jentic for revoke a hubspot refresh token, load DELETE /oauth/v1/refresh-tokens/{token}, and execute with the token to invalidate. Jentic injects the OAuth client credentials from the vault.
How can I tell which HubSpot account a token belongs to?
GET /oauth/v1/access-tokens/{token} returns the hub ID, user, and scopes attached to the access token. GET /oauth/v1/refresh-tokens/{token} returns equivalent metadata for refresh tokens.