Contact Properties
POST
Create Contact Property
POST /v1/contact-propertiesDefine a new custom property for storing additional contact data.
Use Cases:
- Store custom contact attributes (industry, company size, role)
- Track behavioral data (lifetime value, last purchase date)
- Capture form-specific fields
- Store integration data from external systems
- Build flexible contact profiles
Behavior:
- Property name must be unique within workspace
- Name becomes the key used in contact objects
- Type cannot be changed after creation
- Default value is applied to new contacts (if specified)
- Properties can be marked as required for validation
- Maximum 100 custom properties per workspace
- Name is automatically converted to snake_case
Required Scope: write:contacts
Property Configuration:
- name: Internal key (e.g., "company_size", "last_login")
- label: Display name for UI (e.g., "Company Size")
- type: Data type (STRING, NUMBER, DATE, BOOLEAN)
- defaultValue: Applied to new contacts (optional)
- required: Whether property must have a value (optional)
Type Definitions:
- STRING: Text up to 5000 characters
- NUMBER: Integer or decimal values
- DATE: ISO 8601 dates/timestamps
- BOOLEAN: true/false only
Naming Best Practices:
- Use snake_case (auto-converted)
- Keep names short but descriptive
- Avoid special characters
- Use consistent naming conventions
- Document property purpose in label
Limits:
- Maximum 100 custom properties per workspace
- Property names cannot be changed after creation
- Cannot delete properties used in segments or automations
Bodyrequired
namestringrequiredMin length: 1Max length: 100
type"DATE" | "NUMBER" | "STRING"requireddefaultValueanyResponse
201Contact property created successfully with generated ID and timestamps. The property is now available for use on all contacts.
objectstringrequiredidstringrequirednamestringrequiredtype"DATE" | "NUMBER" | "STRING"requireddefaultValueanyrequired