Learn how to gain access to and manage Sensitive Data via API.
crm.objects.contacts.sensitive.read
crm.objects.contacts.sensitive.write
crm.objects.companies.sensitive.read
crm.objects.companies.sensitive.write
crm.objects.deals.sensitive.read
crm.objects.deals.sensitive.write
crm.objects.appointments.sensitive.read
crm.objects.appointments.sensitive.write
crm.objects.custom.sensitive.read
crm.objects.custom.sensitive.write
tickets.sensitive
(Both read and write access)crm.objects.contacts.highly_sensitive.read
crm.objects.contacts.highly_sensitive.write
crm.objects.companies.highly_sensitive.read
crm.objects.companies.highly_sensitive.write
crm.objects.deals.highly_sensitive.read
crm.objects.deals.highly_sensitive.write
crm.objects.custom.highly_sensitive.read
crm.objects.custom.highly_sensitive.write
tickets.highly_sensitive
(Both read and write access)app-hsmeta.json
configuration file.
propertyChange
event type webhook subscriptions for contact, company, deal, and ticket Sensitive Data properties. This API is not available for use with Highly Sensitive Data.dataSensitivity
query parameter with the value sensitive
. To retrieve all Highly Sensitive Data properties, use the value highly_sensitive
. If you don’t include this parameter when retrieving properties, only non-sensitive properties will be returned. For example, to retrieve all contact properties that store Sensitive Data, make a GET
request to /crm/v3/properties/contacts?dataSensitivity=sensitive
.
GET
request to /crm/v3/properties/{objectType}/{propertyName}
.
dataSensitivity
property will have the value sensitive
.dataSensitivity
property will have the value highly_sensitive
.sensitiveDataCategories
field will have a value of ["HIPAA"]
.dataSensitivity
property value will be non_sensitive
.sensitive.write
scope for the given object to create or edit its properties.
POST
request to /crm/v3/properties/{object}
and include the dataSensitivity
field with the value sensitive
.POST
request to /crm/v3/properties/{object}
and include the dataSensitivity
field with the value highly_sensitive
.POST
request to /crm/v3/properties/contacts
, your request would look like:
PATCH
request to /crm/v3/properties/{objectType}/{propertyName}
. You cannot edit the dataSensitivity
field.DELETE
request to crm/v3/properties/{objectType}/{propertyName}
. Once archived, properties will be permanently deleted after 90 days.GET
request to /crm/v3/objects/{object}/{recordId}
and include the Sensitive Data property in your query parameters.
For example, to retrieve a contact’s Passport Number value, your request URL would look like: https://api.hubspot.com/crm/v3/objects/contacts/1234567?properties=passport_number
.
POST
request to /crm/v3/objects/{object}
. In your request body, include the required properties and the Sensitive Data property.PATCH
request to /crm/v3/objects/{object}/{objectId}
. In your request body, include the Sensitive Data property with the new value. To clear the value, set the value to an empty string in your request body.POST
request to /crm/v3/objects/contacts
, the request body would look like:
POST
request to /crm/v3/objects/{object}/search
and include the Sensitive Data properties you want to search for.
For example, the following search would return contacts with their first name, last name, and passport number values:
POST
request to https://api.hsforms.com/submissions/v3/integration/secure/submit/{HubID}/:formGuid
. Learn more about using this endpoint..
This is currently the only forms submission API endpoint that can be used with Sensitive Data because it supports authentication. Any other requests to the forms API will result in an error or hide Sensitive Data values.
propertyChange
event type webhook subscriptions for Sensitive Data properties on contacts, companies, deals, and tickets.
For non-sensitive property propertyChange
events, the webhook payload has the new value in the propertyValue
field. For Sensitive Data property propertyChange
events, the webhook payload will have the propertyValue
set as "REDACTED"
. To view the value, you’ll need to retrieve the record’s value for the Sensitive Data property.
For example, a webhook payload for a Sensitive Data property propertyChange
event contact subscription would look like the following: