Back to skills
SKILL.md
Hubspot Upgrade Migration
ASecurity'Upgrade @hubspot/api-client SDK versions and migrate between API versions.
- 2 stars
- 0 votes
- 0 copies
- 0 views
- Added November 11, 2026
Works with
Security analysis
96/100- Installs packages at runtime which could introduce malicious dependencies
npx -y skills add pauldx/claudifying --skill hubspot-upgrade-migration --agent claude-codeAre you the author of Hubspot Upgrade Migration?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/pauldx-hubspot-upgrade-migration)---
name: hubspot-upgrade-migration
description: 'Upgrade @hubspot/api-client SDK versions and migrate between API versions.
Use when upgrading the HubSpot Node.js SDK, migrating from v1/v2 to v3 APIs,
or handling breaking changes in the HubSpot API client.
Trigger with phrases like "upgrade hubspot", "hubspot SDK update",
"hubspot breaking changes", "migrate hubspot API version", "hubspot v3 migration".
'
allowed-tools: Read, Write, Edit, Bash(npm:*), Bash(git:*)
version: 1.0.0
license: MIT
tags:
- saas
- crm
- marketing
- hubspot
compatibility: Designed for Claude Code
---
# HubSpot Upgrade & Migration
## Overview
Guide for upgrading `@hubspot/api-client` SDK versions and migrating from legacy HubSpot APIs to the current CRM v3 API.
## Prerequisites
- Current `@hubspot/api-client` installed
- Git for version control
- Test suite available
- Staging environment for validation
## Instructions
### Step 1: Check Current Version and Available Updates
```bash
# Current version
npm list @hubspot/api-client
# Latest available
npm view @hubspot/api-client version
# See changelog
npm view @hubspot/api-client versions --json | tail -10
```
### Step 2: Review Breaking Changes
Key breaking changes in `@hubspot/api-client`:
| Version | Breaking Change | Migration |
|---------|----------------|-----------|
| v11 -> v12 | Association APIs moved to v4 namespace | `client.crm.associations.v4.basicApi` |
| v10 -> v11 | Batch API input format changed | Wrap inputs in `{ inputs: [...] }` |
| v9 -> v10 | `apiKey` auth removed (API keys deprecated) | Use `accessToken` only |
| v8 -> v9 | TypeScript strict types on all methods | Update type imports |
### Step 3: Create Upgrade Branch and Update
```bash
git checkout -b chore/upgrade-hubspot-api-client
npm install @hubspot/api-client@latest
npm test
```
### Step 4: Common Migration Patterns
#### API Key to Access Token (v9 -> v10+)
```typescript
// BEFORE (deprecated -- API keys removed in v10)
const client = new hubspot.Client({ apiKey: 'your-api-key' });
// AFTER (use private app access token)
const client = new hubspot.Client({
accessToken: process.env.HUBSPOT_ACCESS_TOKEN!,
});
```
#### Associations v3 to v4 (v11 -> v12+)
```typescript
// BEFORE (v3 associations)
await client.crm.contacts.associationsApi.create(
contactId, 'companies', companyId, 'contact_to_company'
);
// AFTER (v4 associations)
await client.crm.associations.v4.basicApi.create(
'contacts', contactId, 'companies', companyId,
[{ associationCategory: 'HUBSPOT_DEFINED', associationTypeId: 1 }]
);
```
#### Legacy Contact API to CRM v3
```typescript
// BEFORE (legacy /contacts/v1/)
const response = await fetch(
`https://api.hubapi.com/contacts/v1/contact/email/${email}/profile`,
{ headers: { Authorization: `Bearer ${token}` } }
);
// AFTER (CRM v3 search)
const result = await client.crm.contacts.searchApi.doSearch({
filterGroups: [{
filters: [{ propertyName: 'email', operator: 'EQ', value: email }],
}],
properties: ['firstname', 'lastname', 'email'],
limit: 1,
after: 0,
sorts: [],
});
const contact = result.results[0];
```
#### Legacy Deals API to CRM v3
```typescript
// BEFORE (legacy /deals/v1/)
const response = await fetch(
`https://api.hubapi.com/deals/v1/deal/${dealId}`,
{ headers: { Authorization: `Bearer ${token}` } }
);
// AFTER (CRM v3)
const deal = await client.crm.deals.basicApi.getById(
dealId,
['dealname', 'amount', 'dealstage', 'pipeline', 'closedate']
);
```
### Step 5: Validate and Deploy
```bash
# Run full test suite
npm test
# Run integration tests against test account
HUBSPOT_TEST=true npm run test:integration
# If tests pass, merge
git add package.json package-lock.json src/
git commit -m "chore: upgrade @hubspot/api-client to vX.Y.Z"
```
## Output
- Updated SDK version in package.json
- Migrated breaking changes (auth, associations, types)
- All tests passing
- Documented rollback procedure
## Error Handling
| Issue | Cause | Solution |
|-------|-------|----------|
| `apiKey is not a valid option` | SDK v10+ removed API keys | Switch to `accessToken` |
| `associationsApi is not a function` | Associations moved to v4 | Use `associations.v4.basicApi` |
| Type errors after upgrade | Stricter TypeScript types | Update imports from `lib/codegen/crm/` |
| `Cannot find module` | SDK restructured exports | Check the npm package README for new imports |
## Examples
### Rollback Procedure
```bash
# If upgrade causes issues
npm install @hubspot/api-client@PREVIOUS_VERSION --save-exact
npm test
git commit -am "revert: rollback @hubspot/api-client to vPREVIOUS"
```
### Check for Deprecated API Usage
```bash
# Search for legacy API endpoints in codebase
grep -rn "contacts/v1\|deals/v1\|companies/v2\|engagements/v1" src/
grep -rn "apiKey:" src/ # deprecated auth method
grep -rn "associationsApi\." src/ # may need v4 migration
```
## Resources
- [@hubspot/api-client Changelog](https://github.com/HubSpot/hubspot-api-nodejs/blob/master/CHANGELOG.md)
- [HubSpot API Changelog](https://developers.hubspot.com/changelog)
- [CRM v3 Migration Guide](https://developers.hubspot.com/docs/guides/crm/understanding-the-crm)
## Next Steps
For CI integration during upgrades, see `hubspot-ci-integration`.
Attribution
Related skills
View all in development →Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.