HubSpot · Schema

HubSpot CRM Object

Schema for a HubSpot CRM object record, applicable to contacts, companies, deals, tickets, and other CRM object types.

AnalyticsCommerceContentCRMCustomer ServiceEmail MarketingMarketingMarketing AutomationOperationsSales

Properties

Name Type Description
id string The unique identifier for the CRM object record assigned by HubSpot.
properties object The CRM object's properties as key-value pairs. Keys are property names and values are the property values as strings.
propertiesWithHistory object A map of property names to their historical values, including the current value and previous values with timestamps.
createdAt string The date and time the CRM object record was created in ISO 8601 format.
updatedAt string The date and time the CRM object record was last updated in ISO 8601 format.
archived boolean Whether the CRM object record has been archived (soft deleted). Archived records can be restored.
archivedAt string The date and time the CRM object record was archived, if applicable.
associations object Associations between this CRM object and other CRM objects, keyed by object type.
View JSON Schema on GitHub

JSON Schema

hubspot-crm-object-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://developers.hubspot.com/docs/api/schemas/crm-object",
  "title": "HubSpot CRM Object",
  "description": "Schema for a HubSpot CRM object record, applicable to contacts, companies, deals, tickets, and other CRM object types.",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "The unique identifier for the CRM object record assigned by HubSpot."
    },
    "properties": {
      "type": "object",
      "description": "The CRM object's properties as key-value pairs. Keys are property names and values are the property values as strings.",
      "additionalProperties": {
        "type": ["string", "null"],
        "description": "A property value for the CRM object."
      },
      "examples": [
        {
          "firstname": "John",
          "lastname": "Doe",
          "email": "[email protected]",
          "phone": "+1-555-555-5555",
          "company": "Acme Corp"
        }
      ]
    },
    "propertiesWithHistory": {
      "type": "object",
      "description": "A map of property names to their historical values, including the current value and previous values with timestamps.",
      "additionalProperties": {
        "type": "array",
        "items": {
          "$ref": "#/$defs/PropertyHistory"
        }
      }
    },
    "createdAt": {
      "type": "string",
      "format": "date-time",
      "description": "The date and time the CRM object record was created in ISO 8601 format."
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time",
      "description": "The date and time the CRM object record was last updated in ISO 8601 format."
    },
    "archived": {
      "type": "boolean",
      "description": "Whether the CRM object record has been archived (soft deleted). Archived records can be restored.",
      "default": false
    },
    "archivedAt": {
      "type": "string",
      "format": "date-time",
      "description": "The date and time the CRM object record was archived, if applicable."
    },
    "associations": {
      "type": "object",
      "description": "Associations between this CRM object and other CRM objects, keyed by object type.",
      "additionalProperties": {
        "$ref": "#/$defs/AssociationCollection"
      },
      "examples": [
        {
          "companies": {
            "results": [
              { "id": "789", "type": "contact_to_company" }
            ]
          },
          "deals": {
            "results": [
              { "id": "456", "type": "contact_to_deal" }
            ]
          }
        }
      ]
    }
  },
  "required": ["id", "properties", "createdAt", "updatedAt"],
  "$defs": {
    "PropertyHistory": {
      "type": "object",
      "description": "A historical value entry for a CRM property.",
      "properties": {
        "value": {
          "type": ["string", "null"],
          "description": "The value of the property at the given timestamp."
        },
        "timestamp": {
          "type": "string",
          "format": "date-time",
          "description": "The date and time when this property value was set."
        },
        "sourceType": {
          "type": "string",
          "description": "The source type that set this property value (e.g., CRM_UI, API, IMPORT)."
        },
        "sourceId": {
          "type": ["string", "null"],
          "description": "The source ID that set this property value."
        }
      },
      "required": ["value", "timestamp"]
    },
    "Association": {
      "type": "object",
      "description": "An association between two CRM object records.",
      "properties": {
        "id": {
          "type": "string",
          "description": "The ID of the associated CRM object record."
        },
        "type": {
          "type": "string",
          "description": "The association type label describing the relationship."
        }
      },
      "required": ["id", "type"]
    },
    "AssociationCollection": {
      "type": "object",
      "description": "A collection of associations to a specific object type.",
      "properties": {
        "results": {
          "type": "array",
          "description": "The list of associated records.",
          "items": {
            "$ref": "#/$defs/Association"
          }
        },
        "paging": {
          "$ref": "#/$defs/Paging"
        }
      },
      "required": ["results"]
    },
    "Paging": {
      "type": "object",
      "description": "Pagination information for a collection response.",
      "properties": {
        "next": {
          "type": "object",
          "description": "Information for fetching the next page of results.",
          "properties": {
            "after": {
              "type": "string",
              "description": "The cursor token to use in the 'after' parameter to get the next page."
            },
            "link": {
              "type": "string",
              "format": "uri",
              "description": "A direct URL link to the next page of results."
            }
          },
          "required": ["after"]
        }
      }
    }
  },
  "examples": [
    {
      "id": "1234",
      "properties": {
        "firstname": "Jane",
        "lastname": "Smith",
        "email": "[email protected]",
        "phone": "+1-555-123-4567",
        "company": "Example Corp",
        "hs_object_id": "1234"
      },
      "createdAt": "2023-01-15T10:30:00Z",
      "updatedAt": "2024-06-20T14:45:00Z",
      "archived": false,
      "associations": {
        "companies": {
          "results": [
            { "id": "5678", "type": "contact_to_company" }
          ]
        }
      }
    }
  ]
}