← all adapters

hubspot-style

simulates HubSpot CRM API v3

restadapter v0.2.033 routes

verification

SDKverified with hubspot-node 14.0.1 (floor)· surface 33 · not implemented 4

use it

# add to stunt.yaml
services:
  hubspot:
    adapter: embedded:hubspot-style

# then
$ stunt up

The embedded: source extracts this adapter from the binary — no git clone, fully offline.

how to mock the HubSpot CRM API locally

Install stunt, paste the service block above into stunt.yaml, run stunt up — then point your client at localhost instead of HubSpot CRM API. It works offline, keeps state across requests and restarts, and every response is synthetic: the route shapes, status codes, pagination, and webhook delivery follow the real HubSpot CRM API v3 surface — the data is fake, the behavior is real.

backing stores

contactscompaniesdealsticketsassociations

api surface (33)

generated from the adapter manifest — exactly what boots, nothing more · covers 4% of the real API's 564 routes (derived from sdk hubspot-node @ 14.0.1 (floor))

33 routes
GET/crm/v3/objects/contacts
POST/crm/v3/objects/contacts
GET/crm/v3/objects/contacts/{id}
PATCH/crm/v3/objects/contacts/{id}
DELETE/crm/v3/objects/contacts/{id}
POST/crm/v3/objects/contacts/{id}/associations/{toObjectType}/batch/create
POST/crm/v3/objects/contacts/{id}/associations/{toObjectType}/batch/archive
PUT/crm/v3/objects/contacts/{id}/associations/{toObjectType}/{toObjectId}/{associationType}
GET/crm/v3/objects/contacts/{id}/associations/{toObjectType}
GET/crm/v3/objects/companies
POST/crm/v3/objects/companies
GET/crm/v3/objects/companies/{id}
PATCH/crm/v3/objects/companies/{id}
DELETE/crm/v3/objects/companies/{id}
GET/crm/v3/objects/deals
POST/crm/v3/objects/deals
GET/crm/v3/objects/deals/{id}
PATCH/crm/v3/objects/deals/{id}
DELETE/crm/v3/objects/deals/{id}
GET/crm/v3/objects/tickets
POST/crm/v3/objects/tickets
GET/crm/v3/objects/tickets/{id}
PATCH/crm/v3/objects/tickets/{id}
DELETE/crm/v3/objects/tickets/{id}
POST/crm/v3/objects/{objectType}/search
POST/crm/v3/objects/{objectType}/batch/create
POST/crm/v3/objects/{objectType}/batch/read
POST/crm/v3/objects/{objectType}/batch/update
POST/crm/v3/objects/{objectType}/batch/archive
POST/crm/v3/objects/{objectType}/{id}/restore
POST/crm/v3/objects/{objectType}/{id}/associations/{toObjectType}/batch/create
POST/crm/v3/objects/{objectType}/{id}/associations/{toObjectType}/batch/archive
DELETE/crm/v3/objects/{objectType}/{id}/associations/{toObjectType}/{toObjectId}/{associationType}

SDK-verified behaviors (5)

  • basicApi.create assigns an id and echoes properties
  • basicApi.getById round-trips
  • basicApi.update patches a property
  • searchApi.doSearch finds the record by name
  • archive hides the record from reads

Not implemented (4)

  • No webhook subscriptions or signed deliveries (X-HubSpot-Signature-v3 documented only)
  • No owners, line_items, products, quotes, or custom object types
  • No engagements (calls, emails, meetings, notes, tasks) endpoints
  • No properties, pipelines, or import/export endpoints
want more of the HubSpot CRM API surface? adapters are YAML + Starlark — the authoring guide covers adding routes, fixtures, and state machines. Open an issue for anything big first, or just file a PR — merged routes ship in the next release.