Add contact records that have already been created in the system to a contact list. You can add multiple records at once, either by vid or by email address. Up to 500 records can be added to a list in a single request, including records specified by ID and by email. Please note that you cannot manually add contacts to dynamic lists. To determine whether a list is dynamic or static, when you get a list, you will see a flag called dynamic that equates to true or false.
Unique identifier for the list that you're looking for.
Type: string
See format details at https://developers.hubspot.com/docs/methods/lists/add_contact_to_list
Type: object
{ }
The ID of the OAuth app you're creating the event type for.
Type: string
See format details at https://developers.hubspot.com/docs/methods/timeline/batch-create-or-update-events
Type: object
{ }
Create a group of contacts or update them if they already exist. Particularly useful for periodic syncs from another contacts database to HubSpot.
For formatting, see https://developers.hubspot.com/docs/methods/contacts/batch_create_or_update
Type: object
{
"properties" : [ {
"property" : "string",
"value" : "string"
} ]
}
A string that allows you to represent these change sources however you'd like.
Type: string
Create a new contact in HubSpot with a simple HTTP POST to the Contacts API. The contact will be created instantly inside of HubSpot, and will be assigned a unique ID (vid) that can be used to look up the contact inside of HubSpot later.
Properties for the contact to be added. While we recommend that all contact records include an email address, it is possible to create contacts without an email address by leaving out the email property.
Type: object
{
"properties" : [ {
"property" : "string",
"value" : "string"
} ]
}
Create a new list in a given HubSpot account to populate with contacts. Creating this list show in the user interface, so beware that users will be able to edit and even delete lists that are programatically created in HubSpot.
See https://developers.hubspot.com/docs/methods/lists/create_list for format
Type: object
{ }
Create Timeline Event Type for a particular application
The ID of the OAuth app you're creating the event type for.
Type: string
The ID of the user you're creating the event type for.
Type: string
See format details at https://developers.hubspot.com/docs/methods/timeline/create-event-type
Type: object
{ }
Create a contact if it doesn't exist in an account already, or update it with the latest property values if it does. If successful, your request will return the unique identifier (VID) of the contact and whether or not the request was a create or an update.
Type: string
Properties for the contact to be created or updated. While we recommend that all contact records include an email address, it is possible to create contacts without an email address by leaving out the email property.
Type: object
{
"properties" : [ {
"property" : "string",
"value" : "string"
} ]
}
This endpoint is used to create an SMTP API Token. An API token provides both a username and password which can then be used to send email through the HubSpot SMTP API.
See format details at https://developers.hubspot.com/docs/methods/email/transactional_email/smtpapi_overview/list/create
Type: object
{ }
Create a new property for a specified timeline event type.
The ID of the OAuth app you're creating the event type for.
Type: string
The ID of the event type you want to update.
Type: string
See format details at https://developers.hubspot.com/docs/methods/timeline/create-event-type-property
Type: object
{ }
Create a new event, or update an existing event.
The ID of the OAuth app you're creating the event type for.
Type: string
See format details at https://developers.hubspot.com/docs/methods/timeline/create-or-update-event
Type: object
{ }
Delete an existing contact from a particular HubSpot portal. If a contact with the same email address interacts with the portal again (via a form submission for example) the contact will be added back into the user interface.
You must pass the Contact's ID that you're deleting in the request URL.
Type: string
Delete a list in a given HubSpot account, identified by its unique ID. Note that lists can be used by users to trigger marketing automation campaigns, so a good best practice is to only delete the lists that your integration with HubSpot has created.
Delete an existing Timeline event type.
The ID of the OAuth app you're creating the event type for.
Type: string
For a given account, return information about a group of contacts by their email addresses. This method will also return you much of the HubSpot lead "intelligence" for each requested contact record. The endpoint accepts many query parameters that allow for customization based on a variety of integration use cases.
The email of the contact that you want to get the data for. You can include this parameter multiple times to request multiple records. Any email address that doesn't belong to an existing contact record will be ignored. Requests should be limited to 100 or fewer emails.
Type: string
One of “all”, “none”, “newest”, “oldest” to specify which form submissions should be fetched. Default is “newest”.
Type: string
Boolean "true" or "false" to indicate whether the return of deleted contacts is desired. Default is false.
Type: boolean
Specify the properties that should be returned for each ID. By default, the endpoint returns all valued properties for a contact.
Type: string
One of “value_only” or “value_and_history” to specify if the current value for a property should be fetched, or the value and all the historical values for that property. Default is “value_only”.
Type: string
Boolean "true" or "false" to indicate whether current list memberships should be fetched for the contact. Default is false.
Type: boolean
For a given account, return information about a group of contacts by their user tokens. A visitor's user token is stored in the hubspotutk cookie. This cookie is created automatically by the HubSpot tracking code. The endpoint accepts many query parameters that allow for customization based on a variety of integration use cases. By default, this endpoint will not return the history for properties, only the current value of any populated properties, but you can include the history using the parameters listed below.
Each user token requires it's own query parameter (utk=xxx&utk=yyy). Requests should be limited to 100 or fewer user tokens. Any user tokens that are provided that are not associated with a contact record will be ignored.
Type: string
One of “all”, “none”, “newest”, “oldest” to specify which form submissions should be fetched. Default is “newest”.
Type: string
Boolean true or false to indicate whether the return of deleted contacts is desired. Default is false.
Type: boolean
Specify the properties that should be returned for each ID. By default, the endpoint returns all valued properties for a contact. If this parameter is used, only the specified property or properties will be included.
Type: string
One of “value_only” or “value_and_history” to specify if the current value for a property should be fetched, or the value and all the historical values for that property. Default is “value_only”.
Type: string
Boolean "true" or "false" to indicate whether current list memberships should be fetched for the contact. Default is false.
Type: boolean
For a given account, return information about a group of contacts by their unique IDs. A contact's unique ID is stored in a field called 'vid' which stands for 'visitor ID'. The endpoint accepts many query parameters that allow for customization based on a variety of integration use cases. By default, this endpoint will not return the history for properties, only the current value of any populated properties, but you can include the history using the parameters listed below.
Each vid requires it's own query parameter (vid=10&vid=11). Requests should be limited to 100 or fewer vids. Any vids that are provided that are invalid will be ignored.
Type: string
One of “all”, “none”, “newest”, “oldest” to specify which form submissions should be fetched. Default is “newest”.
Type: string
Boolean true or false to indicate whether the return of deleted contacts is desired. Default is false.
Type: boolean
Specify the properties that should be returned for each ID. By default, the endpoint returns all valued properties for a contact. If this parameter is used, only the specified property or properties will be included.
Type: string
One of “value_only” or “value_and_history” to specify if the current value for a property should be fetched, or the value and all the historical values for that property. Default is “value_only”.
Type: string
Boolean "true" or "false" to indicate whether current list memberships should be fetched for the contact. Default is false.
Type: boolean
For a given account, return a set of contact lists that you specify with multiple listId parameters. This will return only the metadata on these lists and not all of the contacts in the list. See this page for details on getting contact records in individual lists.
An integer that represents the list IDs that you want returned to your call. As you can see in the example URL below, you can specify as many "listId" parameters as you wish on the URL to return multiple lists at once. Any list IDs that are invalid will be ignored.
Type: string
For a given campaign, return data associated with the campaign.
For a given account, return information about a single contact by its email address. Since all contacts in HubSpot are de-duplicated off of an email address, you will only ever receive a single contact back from the API.
Type: string
One of “all”, “none”, “newest”, “oldest” to specify which form submissions should be fetched. Default is “all”.
Type: string
By default, all valued properties will be included. If you include the "property" parameter, then the returned data will only include the property or properties that you request.
Type: string
One of “value_only” or “value_and_history” to specify if the current value for a property should be fetched, or the value and all the historical values for that property. Default is “value_and_history”.
Type: string
Boolean "true" or "false" to indicate whether current list memberships should be fetched for the contact. Default is true.
Type: boolean
For a given account, return information about a single contact by its user token, stored in the hubspotutk cookie. This cookie is created automatically by the HubSpot tracking code.
This method will also return you much of the HubSpot lead "intelligence" for each requested contact record. The endpoint accepts many query parameters that allow for customization based on a variety of integration use cases.
The user token (HubSpot cookie) for the contact that you're searching for.
Type: string
One of “all”, “none”, “newest”, “oldest” to specify which form submissions should be fetched. Default is “all”.
Type: string
By default, all valued properties will be included. If you include the "property" parameter, then the returned data will only include the property or properties that you request.
Type: string
One of “value_only” or “value_and_history” to specify if the current value for a property should be fetched, or the value and all the historical values for that property. Default is “value_and_history”.
Type: string
Boolean "true" or "false" to indicate whether current list memberships should be fetched for the contact. Default is true.
Type: boolean
Update an existing contact in HubSpot. This method lets you update the properties of a contact in HubSpot.
Type: string
One of 'all', 'none', 'newest', 'oldest' to specify which form submissions should be fetched. Default is 'all'.
Type: string
By default, you will get all properties that the contact has values for. If you include the "property" parameter, then the returned data will only include the property or properties that you request. You can include this parameter multiple times to specify multiple properties. The lastmodifieddate and associatedcompanyid will always be included, even if not specified. Keep in mind that only properties that have a value will be included in the response, even if specified in the URL.
Type: string
One of 'value_only' or 'value_and_history' to specify if the current value for a property should be fetched, or the value and all the historical values for that property. Default is 'value_and_history'.
Type: string
Boolean 'true' or 'false' to indicate whether current list memberships should be fetched for the contact. Default is true.
Type: string
For a given portal, return a contact list by its unique ID. This returns only the metadata for the list; see this page for getting the contact records in the list. If you are not storing the list ids inside of your application, you'll need to first find the list id by using the get all lists endpoint.
Returns a JSON object representing the definition for a given contact property.
Unique identifier for the list that you're looking for.
Type: string
See format details at https://developers.hubspot.com/docs/methods/companies/get_contact_property
Type: object
{ }
Get the data for a specific timeline event. All data that the event has will be returned, including the optional fields that were set for you.
The ID of the OAuth app you're creating the event type for.
Type: string
The ID of the event you want to retrieve.
Type: string
The ID of the event type you want to update.
Type: string
Query the event log for a specific event and get results for that email event.
The creation timestamp (in milliseconds since epoch) of the event to return.
Type: string
The unique ID of the event to return.
Type: string
Returns the number of contacts that entered the individual lifecycle stages during the provided time period. The time period may be up to a two year window. Additionally supports aggregating the results by a second property. This property must be an enumerated property (such as a multiple checkbox or dropdown property) with 20 or fewer option. This would support custom enumerated properties.
A millisecond timestamp representing the start of the time period that you want the stats for.
Type: integer
A millisecond timestamp representing the end of the time period that you want the stats for.
Type: integer
A second optional property to further breakdown the lifecycle stage buckets. This must be an enumerated property with 20 or fewer options.
Type: string
For a given portal, return the email subscription information for the given email address and portal. For specific email subscription types, if the value is true or false, the definition will be returned. If the value is null for a specific type, nothing will be returned.
The email address for which you are requesting subscription status.
Type: string
The HubSpot Portal ID for the portal that you're making the call for.
Type: string
Get the custom properties for a specified event type.
The ID of the OAuth app you're creating the event type for.
Type: string
The ID of the event type you want to update.
Type: string
Return the contact lists for a portal. By default, you will get up to 20 lists to you at a time. You can get more lists in a single request (up to 250) using the count parameter.
This operation has no parameters
For a given portal, return all contacts that have been created in the portal. A paginated list of contacts will be returned to you, with a maximum of 100 contacts per page.
One of 'all', 'none', 'newest', 'oldest' to specify which form submissions should be fetched. Default is 'newest'.
Type: string
If you include the 'property' parameter, then you will get the specified property in the response. This parameter may be included multiple times to specify multiple properties.
Type: string
One of 'value_only' or 'value_and_history' to specify if the current value for a property should be fetched, or the value and all the historical values for that property. Default is 'value_only'.
Type: string
Boolean 'true' or 'false' to indicate whether current list memberships should be fetched for the contact. Default is false.
Type: string
For a given portal, return all campaign IDs sorted by recent activity associated with the portal. The campaign IDs are returned in descending order of most-recent activity. You can then use the IDs to look up data on the perfomance of each campaign.
This operation has no parameters
For a given portal, return all email campaign IDs associated with the portal. The email campaign IDs are returned in no particular order. You can then use the IDs to look up data on the performance of each marketing email campaign.
This operation has no parameters
Get dynamic lists for a portal. Dynamic lists automatically update themselves when new contacts are created or are updated, meaning that you can't manually add contacts to dynamic lists.
This operation has no parameters
Get static contact lists in a portal. Static lists (as opposed to dynamic lists) are lists that are edited (added to or updated) manually - via the add contact to list method, or manually in HubSpot.
This operation has no parameters
For a given portal and a given list, identified by its unique ID, return a list of contacts that are in that list.
Unique identifier for the list that you're looking for.
Type: string
One of “all”, “none”, “newest”, “oldest” to specify which form submissions should be fetched. Default is “newest”.
Type: string
If you include the "property" parameter, then the properties in the "contact" object in the returned data will only include the property or properties that you request.
Type: string
One of “value_only” or “value_and_history” to specify if the current value for a property should be fetched, or the value and all the historical values for that property. Default is “value_only”.
Type: string
Boolean "true" or "false" to indicate whether current list memberships should be fetched for the contact. Default is false.
Type: boolean
Query the event log for events matching specified parameters. Note that events will be returned in reverse-chronological order.
Only return events which correspond to the given HubSpot Application ID.
Type: string
Only return events from the given HubSpot Campaign ID.
Type: string
Only return events which occurred at or before the given timestamp (in milliseconds since epoch).
Type: string
Only return events of the specified type (case-sensitive). The possible types are described in the Email Events Bible .
Type: string
Only return events that have not been filtered out due to customer filtering settings. The default value is false.
Type: boolean
Only return events related to the given recipient.
Type: string
Only return events which occurred at or after the given timestamp (in milliseconds since epoch).
Type: string
Get Timeline Event Types for a particular application
The ID of the OAuth app you're creating the event type for.
Type: string
The ID of the user you're creating the event type for.
Type: string
For a given HubID and a given list, return contacts that have been recently added to that list, starting with the most recently added contact and pageing backwards. A paginated list of contacts will be returned to you, with a maximum of 100 contacts per page, as specified by the "count" parameter.
Unique identifier for the list that you're looking for.
Type: string
One of “all”, “none”, “newest”, “oldest” to specify which form submissions should be fetched. Default is “newest”.
Type: string
If you include the "property" parameter, then the properties in the "contact" object in the returned data will only include the property or properties that you request.
Type: string
One of “value_only” or “value_and_history” to specify if the current value for a property should be fetched, or the value and all the historical values for that property. Default is “value_only”.
Type: string
Boolean "true" or "false" to indicate whether current list memberships should be fetched for the contact. Default is false.
Type: boolean
For a given account, return all contacts that have been recently created. A paginated list of contacts will be returned to you, with a maximum of 100 contacts per page, as specified by the "count" parameter.
One of “all”, “none”, “newest”, “oldest” to specify which form submissions should be fetched. Default is “newest”.
Type: string
If you include the "property" parameter, then the properties in the "contact" object in the returned data will only include the property or properties that you request.
Type: string
One of “value_only” or “value_and_history” to specify if the current value for a property should be fetched, or the value and all the historical values for that property. Default is “value_only”.
Type: string
Boolean "true" or "false" to indicate whether current list memberships should be fetched for the contact. Default is false.
Type: boolean
For a given portal, return all contacts that have been recently updated or created. A paginated list of contacts will be returned to you, with a maximum of 100 contacts per page, as specified by the "count" parameter. The endpoint only scrolls back in time 30 days.
One of “all”, “none”, “newest”, “oldest” to specify which form submissions should be fetched. Default is “newest”.
Type: string
If you include the "property" parameter, then the properties in the "contact" object in the returned data will only include the property or properties that you request.
Type: string
One of “value_only” or “value_and_history” to specify if the current value for a property should be fetched, or the value and all the historical values for that property. Default is “value_only”.
Type: string
Boolean "true" or "false" to indicate whether current list memberships should be fetched for the contact. Default is false.
Type: boolean
This operation has no parameters
Returns all email subscription types that have been created in the given Hub ID.
The HubSpot Portal ID for the portal that you're making the call for.
Type: string
For a given portal, return a time-ordered list of subscription changes.
Only return timeline changes of the specified type (case-sensitive). The possible types are described in the Email Subscriptions Bible .
Type: string
Only return timeline items which occurred at or before the given timestamp (in milliseconds since epoch).
Type: string
Include the user's full subscription snapshot with each timeline item. This snapshot is equivalent to what this endpoint would have returned at that time.
Type: string
Only return timeline items which occurred at or after the given timestamp (in milliseconds since epoch).
Type: string
Merge two contact records. The contact ID in the URL will be treated as the primary contact, and the contact ID in the request body will be treated as the secondary contact.
Unique identifier for a particular contact. In HubSpot's contact system, contact ID's are called "vid".
Type: string
properties for the contact to be updated
Type: object
{
"vidToMerge" : "string"
}
Once you have an SMTP API, the List SMTP API Tokens endpoint can be used to list all SMTP API Tokens in the portal. However, for security reasons the password is only provided during the time of the token creation. This endpoint allows for the creation of a replacement password for a given Token, keyed by the userName field.
The userName field of the SMTP API Token needing a password reset.
Type: string
For a given account, return contacts and some data associated with those contacts by the contact's email address, first and last name, phone number, and company name.
The search term for what you're searching for. You can use all of a word or just parts of a word as well. For example, if you we're searching for contacts with "hubspot" in their name or email, searching for "hub" would also return contacts with "hubspot" in their email address.
Type: string
If you include the "property" parameter, then the properties in the "contact" object in the returned data will only include the property or properties that you request.
Type: string
Send an email designed and maintained in the HubSpot marketing Email Tool.
See format details at https://developers.hubspot.com/docs/methods/email/transactional_email/single-send-overview
Type: object
{ }
Update an existing contact in HubSpot. This method lets you update the properties of a contact in HubSpot.
Type: string
properties for the contact to be updated
Type: object
{
"properties" : [ {
"property" : "string",
"value" : "string"
} ]
}
Type: string
properties for the contact to be updated
Type: object
{
"properties" : [ {
"property" : "string",
"value" : "string"
} ]
}
Update an existing event type.
The ID of the OAuth app you're creating the event type for.
Type: string
The ID of the event type you want to update.
Type: string
See format details at https://developers.hubspot.com/docs/methods/timeline/update-event-type
Type: object
{ }
Update a list in a given HubSpot account. Note that like creating a list, users will be able to edit and even delete these lists inside of the HubSpot user interface.
Unique identifier for the list that you're looking for.
Type: string
See format details at https://developers.hubspot.com/docs/methods/lists/update_list
Type: object
{ }
For a given email address, update the email type subscription status, or permanently unsubscribe an email address from all email.
The email address for which you are requesting subscription status.
Type: string
The HubSpot Portal ID for the portal that you're making the call for.
Type: string
See format details at https://developers.hubspot.com/docs/methods/email/update_status
Type: object
{ }
Update an existing property for a specified timeline event type. The id passed in the JSON body needs to match the id of an existing property or this will return a 404 error. Properties cannot be moved from one event type to another, so the eventTypeId included in the JSON body must match the event-type-id in the URL. Please note that the name cannot be updated.
The ID of the OAuth app you're creating the event type for.
Type: string
The ID of the event type you want to update.
Type: string
See format details at https://developers.hubspot.com/docs/methods/timeline/udpate-timeline-event-type-property
Type: object
{ }