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

Query Parameters

  • Whether to include additional fields from the additional fields tab.

Body·

required
application/json
  • Address - Physical address or location

  • Company ID - ID of the company this person is associated with. Must be a valid company ID starting with 'c-'

  • Desk Phone - Direct office phone number

  • Email Address - Primary email address. Can contain multiple emails separated by semicolons

  • First Name - Contact's first name

  • Job Function ID - Standardized job function category (e.g., Engineering, Sales, Marketing)

  • Job Title - Person's current job title or position

  • Last Name - Contact's last name

  • Notes - Free-form notes about the person, their preferences, or important context

  • Phone Number - Primary phone number for the contact

  • Referenceability - Willingness and ability to serve as a customer reference

    values
    1234
  • Reports To - ID of the person this contact reports to in their organization. Must be a valid person ID starting with 'p-'

Responses

  • application/json
  • application/json
Request Example for put/{entity_id}
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"
}