Check whether records can be sent to HubSpot
Reports whether your HubSpot account is connected, which record types your workspace has set up to send, and whether the connected account is the one that setup was built for. Read-only — call it before offering to send anything.
In: header
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/integrations/hubspot/status"{
"configuredPortalId": "string",
"connected": true,
"maxRecordsPerPush": 0,
"objects": [
{
"code": "string",
"entity": "agent",
"mappedFieldCount": 0,
"matchOn": "string",
"object": "contact",
"ready": true,
"reason": "string"
}
],
"portalId": "string",
"portalMismatch": true
}{
"error": "string"
}{
"error": "string"
}{
"error": "string"
}{
"error": "string"
}{
"error": "string",
"limit": 0,
"size": 0
}Submit a bulk-delivery job for companies POST
Queues an ECS task that dumps every matching companies document to S3 in the requested format. Returns 202 with a jobId; poll `GET /v1/companies/bulk-delivery/{jobId}` for status + the signed download URL. **Row limit.** Deliveries of up to 1,000 rows need no entitlement. Above that, the org's `bulk-delivery.companies` entitlement is required and its scope (row ceiling, row filters, allowed fields) governs the delivery; without it the request is rejected with 403 `entitlement_missing`. Pass `limit` at or below the ceiling to deliver a capped subset of a broader query. Email support@modelmatch.com to request a limit increase. Delivery is billed at 1 credit per 100 rows regardless of entitlement.
Send records to your HubSpot account POST
Sends the given Model Match records into the HubSpot account you have connected, using the field mapping your workspace configured. Existing records are matched and updated rather than duplicated, so sending the same list twice does not create it twice. Every id you send comes back with an outcome — some records failing is normal and does not fail the rest. At most 100 records per request; send larger lists in batches. There is no undo: use `dryRun` first to see exactly what would be written. Charged per record actually written, at the same rate as fetching that record.