# Person Transactions

{% hint style="warning" %}
**Limited Support/End of Life Capabilities**

The Classic API has been replaced by the Alemba RestFul API.  While we will continue to support the Classic API for clients that are still using it, no further development will be done.

If you need to request a hotfix or support for these features, please contact [<mark style="color:blue;">**Alemba Support**</mark>](https://alemba.help/production/Portal.aspx)
{% endhint %}

Even though these transactions are restricted to Users, person transactions use a prefix of Person instead of User, as Person is the term the API must pass through to be recognized by the ASM app.

The API has a messaging transaction to email stakeholders linked to a person. See MessageStakeHolders Transaction for more information.

### PersonCreate Transaction

The PersonCreate transaction creates a person record flagged as a User and saves it in the database.

#### Input Parameters: PersonCreateRequest

<table data-header-hidden><thead><tr><th></th><th width="124"></th><th></th><th width="96"></th><th></th></tr></thead><tbody><tr><td>Argument</td><td>Type</td><td>Mandatory</td><td>Default</td><td>Description</td></tr><tr><td>sID</td><td>String</td><td>No. See Transaction Login.</td><td>“”</td><td>Analyst’s current Session ID</td></tr><tr><td>sLoginUserID</td><td>String</td><td>No. See Transaction Login.</td><td>“”</td><td>Analyst’s Login ID</td></tr><tr><td>sLoginPassword</td><td>String</td><td>No. See Transaction Login.</td><td>“”</td><td>Analyst’s Password</td></tr><tr><td>sDatabase</td><td>String</td><td>No. See Transaction Login.</td><td>“”</td><td>Name of the ASM System for logging in.</td></tr><tr><td>lEntityRef</td><td>Lookup Field</td><td>Ignored</td><td>-</td><td>Ignored on create</td></tr><tr><td>sTitle</td><td>String</td><td>No</td><td>“”</td><td>User Title</td></tr><tr><td>sUserID</td><td>String</td><td>No</td><td>“”</td><td>User Login ID. This must be a unique login.</td></tr><tr><td>sPassword</td><td>String</td><td>No</td><td>“”</td><td>User Password</td></tr><tr><td>lEmailFormat</td><td>Lookup Field</td><td>No</td><td>System’s default email setting</td><td><p>User’s preferred Email format. Values:</p><p>1 = Plain Text</p><p>2 = HTML</p><p>3 = Related HTML</p></td></tr><tr><td>sEmail</td><td>String</td><td>No</td><td>“”</td><td>User’s Email ID</td></tr><tr><td>sFirstName</td><td>String</td><td>No</td><td>“”</td><td>User First Name</td></tr><tr><td>sJobTitle</td><td>String</td><td>No</td><td>“”</td><td>User Job Title</td></tr><tr><td>sSurname</td><td>String</td><td>No</td><td>“”</td><td>User Surname</td></tr><tr><td>sTelephone</td><td>String</td><td>No</td><td>“”</td><td>User Telephone number</td></tr><tr><td>sMobile</td><td>String</td><td>No</td><td>“”</td><td>User Cell number</td></tr><tr><td>lLocation</td><td>Lookup Field</td><td>No</td><td>0</td><td>User Location</td></tr><tr><td>lOrganization</td><td>Lookup Field</td><td>No</td><td>0</td><td>User Organization</td></tr><tr><td>lPortalRole</td><td>Lookup Field</td><td>No</td><td>0</td><td>Self Service Portal Role assigned to this User</td></tr><tr><td>lProfile</td><td>Lookup Field</td><td>No</td><td>0</td><td>User Profile</td></tr><tr><td>lServiceLevel</td><td>Lookup Field</td><td>No</td><td>0</td><td>User Service Level</td></tr><tr><td>lVIPStatus</td><td>Lookup Field</td><td>No</td><td>0</td><td>User VIP Status</td></tr><tr><td>bAccountDisabled</td><td>Boolean</td><td>No</td><td>False</td><td><p>Indicate whether this User account is disabled. Values:</p><ul><li>True = User’s account is disabled</li><li>False = User’s account is active</li></ul></td></tr><tr><td>bPortal</td><td>Boolean</td><td>No</td><td>False</td><td><p>Flag if this person has Self Service Portal access. Values:</p><ul><li>True = person has Portal access</li><li>False = person does not have Portal access</li></ul></td></tr><tr><td>bTemplate</td><td>Boolean</td><td>No</td><td>False</td><td><p>Flag whether this Person record is a template. Values:</p><ul><li>True = flag this Person record as a template</li><li>False = do not flag this Person record as a template</li></ul></td></tr><tr><td>lPartition</td><td>Lookup Field</td><td>No</td><td>Analyst’s default partition</td><td>Partition assigned to the User</td></tr><tr><td>sReason</td><td>String</td><td>No</td><td>“”</td><td>Audit reason</td></tr><tr><td>aCustomParameters</td><td>Array</td><td>No</td><td>“”</td><td>See Defining Custom Parameters.</td></tr></tbody></table>

#### Return Values:PersonResponse <a href="#personresponse" id="personresponse"></a>

| Argument   | Type      | Description                                         |
| ---------- | --------- | --------------------------------------------------- |
| nEntityRef | Integer   | Newly created person ref                            |
| sMessage   | String    | Error/Warning message returned from API Transaction |
| Ret        | APIReturn | Error/Warning Number returned from API Transaction. |

### PersonUpdate Transaction

The PersonUpdate transaction can be used to update the details of any person record. The person record to update must be flagged as a User.

#### Input Parameters: PersonUpdateRequest

<table data-header-hidden><thead><tr><th></th><th width="114"></th><th width="134"></th><th width="100"></th><th></th></tr></thead><tbody><tr><td>Argument</td><td>Type</td><td>Mandatory</td><td>Default</td><td>Description</td></tr><tr><td>sID</td><td>String</td><td>No. See Transaction Login.</td><td>“”</td><td>Analyst’s current Session ID</td></tr><tr><td>sLoginUserID</td><td>String</td><td>No. See Transaction Login.</td><td>“”</td><td>Analyst’s Login ID</td></tr><tr><td>sLoginPassword</td><td>String</td><td>No. See Transaction Login.</td><td>“”</td><td>Analyst’s Password</td></tr><tr><td>sDatabase</td><td>String</td><td>No. See Transaction Login.</td><td>“”</td><td>Name of the ASM System for logging in.</td></tr><tr><td>lEntityRef</td><td>Lookup Field</td><td>Yes</td><td>-</td><td>Reference number of the Person Record to update</td></tr><tr><td>sTitle</td><td>String</td><td>No</td><td>(As Is)</td><td>User Title</td></tr><tr><td>sUserID</td><td>String</td><td>No</td><td>(As Is)</td><td>User Login ID. This must be a unique login.</td></tr><tr><td>sPassword</td><td>String</td><td>No</td><td>(As Is)</td><td>User Password</td></tr><tr><td>lEmailFormat</td><td>Lookup Field</td><td>No</td><td>(As Is)</td><td><p>User’s preferred Email format. Values:</p><p>1 = Plain Text</p><p>2 = HTML</p><p>3 = Related HTML</p></td></tr><tr><td>sEmail</td><td>String</td><td>No</td><td>(As Is)</td><td>User’s Email ID</td></tr><tr><td>sFirstName</td><td>String</td><td>No</td><td>(As Is)</td><td>User First Name</td></tr><tr><td>sJobTitle</td><td>String</td><td>No</td><td>(As Is)</td><td>User Job Title</td></tr><tr><td>sSurname</td><td>String</td><td>No</td><td>(As Is)</td><td>User Surname</td></tr><tr><td>sTelephone</td><td>String</td><td>No</td><td>(As Is)</td><td>User Telephone number</td></tr><tr><td>sMobile</td><td>String</td><td>No</td><td>(As Is)</td><td>User Cell number</td></tr><tr><td>lLocation</td><td>Lookup Field</td><td>No</td><td>(As Is)</td><td>User Location</td></tr><tr><td>lOrganization</td><td>Lookup Field</td><td>No</td><td>(As Is)</td><td>User Organization</td></tr><tr><td>lPortalRole</td><td>Lookup Field</td><td>No</td><td>(As Is)</td><td>Self Service Portal Role assigned to this User</td></tr><tr><td>lProfile</td><td>Lookup Field</td><td>No</td><td>(As Is)</td><td>User Profile</td></tr><tr><td>lServiceLevel</td><td>Lookup Field</td><td>No</td><td>(As Is)</td><td>User Service Level</td></tr><tr><td>lVIPStatus</td><td>Lookup Field</td><td>No</td><td>(As Is)</td><td>User VIP Status</td></tr><tr><td>bAccountDisabled</td><td>Boolean</td><td>No</td><td>(As Is)</td><td><p>Indicate whether this User account is disabled. Values:</p><ul><li>True = User’s account is disabled</li><li>False = User’s account is active</li></ul></td></tr><tr><td>bPortal</td><td>Boolean</td><td>No</td><td>(As Is)</td><td><p>Flag if this person has Self Service Portal access. Values:</p><ul><li>True = person has Portal access</li><li>False = person does not have Portal access</li></ul></td></tr><tr><td>bTemplate</td><td>Boolean</td><td>No</td><td>(As Is)</td><td><p>Flag whether this Person record is a template. Values:</p><ul><li>True = flag this Person record as a template</li><li>False = do not flag this Person record as a template</li></ul></td></tr><tr><td>lPartition</td><td>Lookup Field</td><td>No</td><td>(As Is)</td><td>Partition assigned to the User</td></tr><tr><td>sReason</td><td>String</td><td>No</td><td>“”</td><td>Audit reason</td></tr><tr><td>aCustomParameters</td><td>Array</td><td>No</td><td>“”</td><td>See Defining Custom Parameters.</td></tr></tbody></table>

#### Return Values: PersonResponse

See PersonResponse for more information.

### PersonRetrieve Transaction

The PersonRetrieve transaction can be used to return the details of a Person record. This person must be flagged as a User.

#### Input Parameters: PersonEntityRequest

<table data-header-hidden><thead><tr><th></th><th width="86"></th><th></th><th width="92"></th><th></th></tr></thead><tbody><tr><td>Argument</td><td>Type</td><td>Mandatory</td><td>Default</td><td>Description</td></tr><tr><td>sID</td><td>String</td><td>No. See Transaction Login.</td><td>“”</td><td>Analyst’s current Session ID</td></tr><tr><td>sLoginUserID</td><td>String</td><td>No. See Transaction Login.</td><td>“”</td><td>Analyst’s Login ID</td></tr><tr><td>sLoginPassword</td><td>String</td><td>No. See Transaction Login.</td><td>“”</td><td>Analyst’s Password</td></tr><tr><td>sDatabase</td><td>String</td><td>No. See Transaction Login.</td><td>“”</td><td>Name of the ASM System for logging in.</td></tr><tr><td>lEntityRef</td><td>Lookup Field</td><td>Yes</td><td>-</td><td>Reference number of the Person Record to update</td></tr><tr><td>aCustomParameters</td><td>Array</td><td>No</td><td>“”</td><td>See Defining Custom Parameters.</td></tr></tbody></table>

#### Return Values: PersonRetrieveResponse

<table data-header-hidden><thead><tr><th width="186.33333333333331"></th><th width="197"></th><th></th></tr></thead><tbody><tr><td>Argument</td><td>Type</td><td>Description</td></tr><tr><td>Ret</td><td>APIReturn</td><td>Error/Warning number returned from API Transaction</td></tr><tr><td>sMessage</td><td>String</td><td>Error/Warning message returned from API Transaction</td></tr><tr><td>ResultSet</td><td>DataSet</td><td>ResultSet containing attribute details</td></tr></tbody></table>

### PersonDelete Transaction

The PersonDelete transaction can be used to locate and delete a person record. This person record must be flagged as a User. This transaction updates the status and audit trail fields.

#### Input Parameters: PersonDeleteRequest

<table data-header-hidden><thead><tr><th></th><th width="116"></th><th></th><th width="100"></th><th></th></tr></thead><tbody><tr><td>Argument</td><td>Type</td><td>Mandatory</td><td>Default</td><td>Description</td></tr><tr><td>sID</td><td>String</td><td>No. See Transaction Login.</td><td>“”</td><td>Analyst’s current Session ID</td></tr><tr><td>sLoginUserID</td><td>String</td><td>No. See Transaction Login.</td><td>“”</td><td>Analyst’s Login ID</td></tr><tr><td>sLoginPassword</td><td>String</td><td>No. See Transaction Login.</td><td>“”</td><td>Analyst’s Password</td></tr><tr><td>sDatabase</td><td>String</td><td>No. See Transaction Login.</td><td>“”</td><td>Name of the ASM System for logging in.</td></tr><tr><td>lEntityRef</td><td>Lookup Field</td><td>Yes</td><td>-</td><td>Reference number of the Person Record to update</td></tr><tr><td>sReason</td><td>String</td><td>No</td><td>“”</td><td>Audit reason</td></tr><tr><td>aCustomParameters</td><td>Array</td><td>No</td><td>“”</td><td>See Defining Custom Parameters.</td></tr></tbody></table>

#### Return Values: PersonResponse

See PersonResponse for more information.
