Loading

RecordTypeId cannot be updated on the Person Contact entity.

Julkaisupäivä: Feb 2, 2026
Kuvaus

When a person account is created (or an existing business account is changed to a person account), a corresponding contact record is also created. This contact record is referred to as a “person contact.”  The ID of the corresponding person contact record is stored in the PersonContactId field on the person account.

Get PersonContactId from the person account record.

SELECT PersonContactId from Account Where Id=001******

Query the PersonContactId and modify the contact record type to existing record type via API..

Account account = [SELECT PersonContactId from Account Where isPersonAccount=true limit 1];
Contact contact = [SELECT ID, RecordTypeId from Contact where ID =:account.PersonContactId ];
contact.RecordTypeId = '012*******';
update contact;

You will get below error :
System.DmlException: Update failed. First exception on row 0 with id 003xxxxxxxxxxx; first error: INSUFFICIENT_ACCESS_OR_READONLY, insufficient access rights on object id: []

Ratkaisu

Person Account is the primary interface for record type to be manipulated on Person Account and not Person Contact. Therefore, updating the Person Contact record type is not possible. This behavior is working as designed.

Knowledge-artikkelin numero

005305352

 
Ladataan
Salesforce Help | Article