CRM

Updates an existing person. Only provided fields will be updated. Set custom attribute values with custom_attributes. A key that is not an active custom attribute returns 400 CUSTOM_ATTRIBUTE_KEY_UNKNOWN, and a value of the wrong type returns 400 CUSTOM_ATTRIBUTE_VALUE_INVALID.

put/v2/api/crm/people/{id}

Request

  • Base URL
    https://api.withallo.com
  • URL
    https://api.withallo.com/v2/api/crm/people/{id}
  • Auth
    API key in header Authorization

Path parameters

idstring required
Example:per-abc123

Person ID (e.g., "per-abc123")

Request body

namestring nullable

First name

last_namestring nullable

Last name

job_titlestring nullable

Job title

websitestring nullable

Website URL

addressstring nullable

Postal address

numbersstring[] nullable

Phone numbers (replaces all existing numbers)

emailsstring[] nullable

Email addresses (replaces all existing emails)

company_idstring nullable

ID of the company to associate with

custom_attributesobject nullable

Values for the person's custom attributes, keyed by attribute key. TEXT takes a string, NUMBER a finite JSON number (numeric strings are rejected), BOOLEAN a JSON boolean, DATE a YYYY-MM-DD string or ISO datetime, and DROPDOWN an option key or label (case-insensitive). Send null to clear a value; keys you omit are left untouched, and {} or omitting the field changes nothing. An unknown or archived key, or a value of the wrong type, rejects the whole request with CUSTOM_ATTRIBUTE_KEY_UNKNOWN or CUSTOM_ATTRIBUTE_VALUE_INVALID.

Example request

{
  "custom_attributes": {
    "lead_source": "Referral",
    "budget": null
  }
}

Response

Person updated

Example response

{
  "data": {
    "id": "per-abc123",
    "name": "John",
    "last_name": "Doe",
    "job_title": "CEO",
    "website": "https://example.com",
    "address": "123 Main St",
    "numbers": [
      "+33612345678"
    ],
    "emails": [
      "john@example.com"
    ],
    "company": {
      "id": "com-xyz789",
      "name": "Acme Corp"
    },
    "interactions": 5,
    "last_activity_at": "2026-04-28T10:30:00",
    "created_at": "2026-04-01T09:00:00",
    "updated_at": "2026-04-28T10:30:00",
    "custom_attributes": {
      "lead_source": "Webinar",
      "budget": 5000
    }
  }
}

Changes

    • info

      added the new optional request property

    • info

      added the non-success response with the status

    • info

      added the optional property / to the response with the status