# HubSpot API Documentation

This is the complete API documentation for connecting to the HubSpot API using MindCloud's Universal API.

MindCloud offers one normalized API to access 3,400+ apps from a single place. It centralizes authentication and normalizes app APIs so they are easier and more consistent to use.

## Quickstart

1. A **MindCloud account** — sign in or create an account at [MindCloud](https://app.mindcloud.co).
2. A **MindCloud API Key** — create one in [API Keys](https://app.mindcloud.co/user/api-keys). Keep it on your server.
3. At least one **HubSpot connection** — create or choose one in [Connections](https://app.mindcloud.co/credentials). Note its `connectionId`.

```text
POST https://connect.mindcloud.co/v2/universal/apps/hubspotApp/actions/{actionSlug}/run
```

## HubSpot actions

- POST `add-user` Add User
- DELETE `archive-project-by-id` Archive Project by ID
- DELETE `archive-task-by-id` Archive Task by ID
- PUT `associate-task-with-project` Associate Task with Project
- POST `batch-create-orders` Batch Create Orders
- GET `batch-read-contacts` Batch Read Contacts
- GET `batch-read-engagements` Batch Read Engagements
- GET `batch-read-line-items` Batch Read Line Items
- GET `batch-read-notes` Batch Read Notes
- GET `batch-read-projects` Batch Read Projects
- PUT `batch-update-projects` Batch Update Projects
- PUT `batch-upsert-contacts` Batch Upsert Contacts
- POST `create-company` Create Company
- POST `create-contact` Create Contact
- POST `create-deal` Create Deal
- POST `create-engagement` Create Engagement
- POST `create-line-item` Create Line Item
- POST `create-list` Create List
- PUT `create-listings-v202603` Create Listings (v2026-03)
- POST `create-object-schema` Create Object Schema
- POST `create-pipeline-stage` Create Pipeline Stage
- POST `create-product` Create Product
- POST `create-project` Create Project
- POST `create-property` Create Property
- POST `create-quote` Create Quote
- POST `create-task` Create Task
- DELETE `delete-association` Delete Association
- DELETE `delete-company-by-id` Delete Company by ID
- DELETE `delete-contact-by-id` Delete Contact by ID
- DELETE `delete-property` Delete Property
- DELETE `delete-ticket-by-id` Delete Ticket by ID
- GET `get-account-info` Get Account Info
- GET `get-company-by-id` Get Company by ID
- GET `get-company-industries` Get Company Industries
- GET `get-contact-by-id` Get Contact by ID
- GET `get-deal-by-id` Get Deal by ID
- GET `get-email` Get Email
- GET `get-file-details` Get File Details
- GET `get-listing-by-id` Get Object Record by ID
- GET `get-owner` Get Owner
- GET `get-pipeline-by-id` Get Pipeline by ID
- GET `get-pipeline-stage-by-id` Get Pipeline Stage by ID
- GET `get-project-by-id` Get Project by ID
- GET `get-property-details` Get Property Details
- GET `get-quote-by-id` Get Quote by ID
- GET `get-shipping-method` Get Shipping Method
- GET `get-subscription-by-id` Get Subscription by ID
- GET `get-task-by-id` Get Task by ID
- GET `get-ticket-by-id` Get Ticket by ID
- GET `get-user` Get User
- GET `list-associations` List Associations
- GET `list-business-units-for-user` List Business Units for User
- GET `list-companies` List Companies
- GET `list-company-contacts` List Company Contacts
- GET `list-company-contacts-v202603` List Company Contacts v2026-03
- GET `list-contact-companies` List Contact Companies
- GET `list-contacts` List Contacts
- GET `list-custom-object-records` List Custom Object Records
- GET `list-deal-line-items` List Deal Line Items
- GET `list-deal-quotes` List Deal Quotes
- GET `list-deals` List Deals
- GET `list-emails` List Emails
- GET `list-forms` List Forms
- GET `list-owners` List Owners
- GET `list-pipelines` List Pipelines
- GET `list-projects` List Projects
- GET `list-properties` List Properties
- GET `list-subscriptions` List Subscriptions
- GET `list-tasks` List Tasks
- GET `list-tickets` List Tickets
- GET `list-users` List Users
- PUT `remove-task-from-project` Remove Task from Project
- GET `search-companies` Search Companies
- GET `search-contacts` Search Contacts
- GET `search-deals` Search Deals
- GET `search-engagements` Search Engagements
- GET `search-files` Search Files
- GET `search-invoices` Search Invoices
- GET `search-lists` Search Lists
- GET `search-orders` Search Orders
- GET `search-products` Search Products
- GET `search-projects` Search Projects
- GET `search-subscriptions` Search Subscriptions
- GET `search-tasks` Search Tasks
- GET `search-tickets` Search Tickets
- PUT `update-company-by-id` Update Company by ID
- PUT `update-contact-by-id` Update Contact by ID
- PUT `update-custom-object-record` Update Custom Object Record
- PUT `update-deal-by-id` Update Deal by ID
- PUT `update-engagement-by-id` Update Engagement by ID
- PUT `update-invoice-by-id` Update Invoice by ID
- PUT `update-project-by-id` Update Project by ID
- PUT `update-task-by-id` Update Task by ID
- GET `upload-files` Upload Files
