Update Entity
Update an existing entity (PUT).
The body is validated against the full input schema, so every field the
schema marks as required must be present, even when its value does not
change; a body missing one is rejected with 422. Optional fields that are
omitted keep their stored values, and a field sent as null is cleared.
To change only some fields without resending the required ones, use
PATCH /{entity_id}.
Args: entity_id: Unique identifier of the entity to update entity_info: Entity data validated against the full input schema: - All required fields must be present - Omitted optional fields retain their current values - Custom field updates if applicable user: Authenticated user information (used for audit trails) response: HTTP response object for status code modification
Returns: Complete updated entity data including: - All entity fields with updated values - Updated timestamp information - Computed fields and relationships
Note: - Returns HTTP 200 on successful update - Returns HTTP 206 (Partial Content) if entity is updated but some custom fields failed to update - Automatically updates modification timestamp and user information
Raises: HTTPException: - 400: Invalid input data or validation errors - 401: Authentication required - 403: Insufficient permissions to update this entity - 404: Entity not found - 409: Update conflict (entity modified by another user) - 422: Validation error in request data, including a missing required field - 500: Internal server error during update
Path Parameters
- Type: stringentity
_id required
Query Parameters
- Type: booleaninclude
_additionals Whether to include additional fields from the additional fields tab.
Body·
- Type: stringaddressmax length:256nullable
Address - Physical address or location
- Type: stringcompany
Id min length:2max length:50nullableCompany ID - ID of the company this person is associated with. Must be a valid company ID starting with 'c-'
- Type: stringdesk
Phone max length:100nullableDesk Phone - Direct office phone number
- Type: stringemailmax length:256nullable
Email Address - Primary email address. Can contain multiple emails separated by semicolons
- Type: stringfirst
Name max length:256nullableFirst Name - Contact's first name
- Type: integernullablejob
Function Job Function ID - Standardized job function category (e.g., Engineering, Sales, Marketing)
- Type: stringjob
Title max length:256nullableJob Title - Person's current job title or position
- Type: stringlast
Name max length:256nullableLast Name - Contact's last name
- Type: stringnotesmax length:8192nullable
Notes - Free-form notes about the person, their preferences, or important context
- Type: stringphonemax length:256nullable
Phone Number - Primary phone number for the contact
- Type: enumnullablereferenceability
Referenceability - Willingness and ability to serve as a customer reference
values1234 - Type: stringreports
To min length:2max length:50nullableReports To - ID of the person this contact reports to in their organization. Must be a valid person ID starting with 'p-'
- additionalPropertyType: anythingproperty
Name
Responses
- application/json
- application/json
curl 'https://crm.dreamhub.ai/api/v1/people/{entity_id}?include_additionals=false' \
--request PUT \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
--data '{
"firstName": "John",
"lastName": "Smith",
"companyId": "c-acme123",
"jobTitle": "VP of Engineering",
"phone": "+1-555-123-4567",
"email": "john.smith@acme.com",
"jobFunction": 1,
"deskPhone": "+1-555-123-4567 ext. 123",
"reportsTo": "p-manager123",
"notes": "Prefers email communication",
"address": "123 Main St, San Francisco, CA 94105",
"referenceability": 1,
"status": 1,
"statusReasonText": "Left company",
"statusChangedBy": "u-user123",
"statusChangedAt": "2024-01-15T10:30:00Z",
"additionalProperty": "anything"
}'
{
"firstName": "John",
"lastName": "Smith",
"companyId": "c-acme123",
"jobTitle": "VP of Engineering",
"phone": "+1-555-123-4567",
"email": "john.smith@acme.com",
"jobFunction": 1,
"deskPhone": "+1-555-123-4567 ext. 123",
"reportsTo": "p-manager123",
"notes": "Prefers email communication",
"address": "123 Main St, San Francisco, CA 94105",
"referenceability": 1,
"status": 1,
"statusReasonText": "Left company",
"statusChangedBy": "u-user123",
"statusChangedAt": "2024-01-15T10:30:00Z",
"linkedinUrl": "https://www.linkedin.com/in/jane-doe",
"lastModifiedBy": "string",
"icpFit": 1,
"icpMetadata": {
"bullets": [
{
"status": "string",
"primary": "string",
"secondary": "string"
}
]
},
"id": "p-jand-f47ac10b",
"createdAt": "2026-11-12T20:58:52.158Z",
"lastActivity": "2026-11-12T20:58:52.158Z",
"emails": [
"string"
],
"fullName": "string",
"companyName": "string",
"reportsToFirstName": "string",
"reportsToLastName": "string",
"additionalProperty": "anything"
}
