← FlexAPI Documentation / API Calls / UpdateNotaryProfile

UpdateNotaryProfile

The UpdateNotaryProfile method lets your integration create, update or delete a user's eNotary profile (commission data and seal image) without that user completing the profile in the SIGNiX interface. A single Action element selects the operation. Available in SIGNiX release 185.

Before you call

  • Turn on Use Notary. The Use Notary client preference must be enabled for your account. Otherwise the call fails with "Use Notary must be enabled for client".
  • The user must already exist. The target user must already be in SIGNiX and have at least one role under your client (the Client in CustInfo). You cannot target users outside your account.
  • The legal name is not sent here. It stays on the user's identity record, so keep it correct in your normal user provisioning.
  • Do not send Demo. It belongs only on SubmitDocument. Use the same CustInfo credentials as other requests (Sponsor, Client, UserId, Pswd, and optional Workgroup).
  • OAuth is supported. The method is also allowed through the OAuth B2B path. The access token must include the admin:account scope (account administration).
  • Always send Action, a target user and Reason. The target is UserId and/or Email.
  • Delete takes no profile fields. On Delete, do not send the profile or seal fields. On Update, omit Seal to keep the existing seal.

UpdateNotaryProfile - Request XML

An annotated example of the request XML follows. It shows a Create request. The profile fields sit under Data, and the Action element selects Create, Update or Delete.

Target user. Specify UserId and/or Email for the notary. At least one is required.

  • If both are provided, they must refer to the same user.
  • If only Email is provided and several open identities share that email, you must also supply UserId.

Seal. The Seal element holds the raw Base64 of the image bytes, not a file path. It can also be a data:image/...;base64,... URL. The image must be PNG or JPEG, and the decoded size must be within the same limit as the Document Dashboard eNotary UI (approximately 500 KB).

UpdateNotaryProfile - annotated request (Create)
<?xml version="1.0" ?>
<UpdateNotaryProfileRq xmlns="urn:com:signix:schema:sdddc-1-1">

  <CustInfo> <!-- Occurs once only -->

    <!-- Assigned by SIGNiX when the Client is set up. All case sensitive. -->
    <Sponsor>YOUR_SPONSOR</Sponsor>
    <Client>YOUR_CLIENT</Client>
    <UserId>YOUR_USER</UserId>
    <Pswd>YOUR_PASSWORD</Pswd>

    <!-- Optional. Only if SIGNiX assigned a Workgroup to your account. -->
    <Workgroup>YOUR_WORKGROUP</Workgroup>

  </CustInfo>

  <Data> <!-- Occurs once only -->

    <!-- Required. The operation: Create, Update or Delete. -->
    <Action>Create</Action>

    <!-- The notary to act on. At least one of UserId and Email is required. If both are sent,
         they must refer to the same user. If only Email is sent and several open identities
         share it, UserId is required too. The user must already exist in SIGNiX with at least
         one role under your client. -->
    <UserId>YOUR_NOTARY_USER_ID</UserId>
    <Email>YOUR_NOTARY_EMAIL</Email>

    <!-- Required. Free text recorded in the audit event. Max length 255. -->
    <Reason>Initial profile supplied by integration</Reason>

    <!-- Required on Create and Update. US or CA state or province code. -->
    <NotaryState>TN</NotaryState>

    <!-- Optional. May be blank where the state issues no commission ID. Max length 100. -->
    <NotaryCommission>YOUR_COMMISSION_NUMBER</NotaryCommission>

    <!-- Optional. MM/DD/YYYY. Blank is allowed. If present, it must be a future date. -->
    <NotaryExpiration>12/31/2099</NotaryExpiration>

    <!-- Required on Create and Update. yes or no: whether the eNotary performs real estate
         transactions. -->
    <DoesRealEstate>yes</DoesRealEstate>

    <!-- Optional. image/png or image/jpeg. Can be inferred from a data: URL in Seal. -->
    <SealMimeType>image/png</SealMimeType>

    <!-- Required on Create. Base64 of the PNG or JPEG image bytes, or a data:image/...;base64,...
         URL. On Update, omit it to keep the existing seal. -->
    <Seal>BASE64_PNG</Seal>

  </Data>

</UpdateNotaryProfileRq>

Field reference (Data)

✓ = required, ○ = optional, — = not used for that action.

ElementCreateUpdateDeleteNotes
Action✓✓✓Create, Update or Delete
UserId○○○Required if Email is omitted
Email○○○Required if UserId is omitted
Reason✓✓✓Free text, max 255 characters (recorded in the audit event)
NotaryState✓✓—US or CA state or province code
NotaryCommission○○—May be blank where the state has no ID. Max 100 characters
NotaryExpiration○○—MM/DD/YYYY. Blank is allowed. If present, it must be a future date
DoesRealEstate✓✓—yes or no: "eNotary Performs Real Estate Transactions"
SealMimeType○○—image/png or image/jpeg (may be inferred from a data-URL Seal)
Seal✓○—Base64 image, or data:image/...;base64,.... Required on Create. On Update, omit it to keep the existing seal

Seal limits. PNG or JPEG. The decoded image size must be within the same limit as the Document Dashboard eNotary UI (approximately 500 KB file size).

Delete. Send only Action, the target (UserId and/or Email) and Reason. Do not send profile or seal fields.

Other examples

The Create request is shown above. These fragments show only the Data element of the request; the rest of the request is identical.

Update (retain seal)

Omit Seal and SealMimeType to keep the existing seal. The response reports SealReplaced as no.

UpdateNotaryProfile - Update (retain seal), Data fragment
<Data>

  <Action>Update</Action>

  <!-- Target by Email, UserId, or both. -->
  <Email>YOUR_NOTARY_EMAIL</Email>

  <Reason>Commission renewed</Reason>

  <NotaryState>TN</NotaryState>
  <NotaryCommission>YOUR_COMMISSION_NUMBER</NotaryCommission>
  <NotaryExpiration>12/31/2099</NotaryExpiration>
  <DoesRealEstate>yes</DoesRealEstate>

  <!-- Seal and SealMimeType omitted: the existing seal is kept. -->

</Data>

Delete

Send only Action, the target and Reason. The response omits SealReplaced.

UpdateNotaryProfile - Delete, Data fragment
<Data>

  <Action>Delete</Action>

  <Email>YOUR_NOTARY_EMAIL</Email>

  <Reason>Profile removed per offboarding</Reason>

</Data>

Behavioral notes

  • Create fails if the user already has a notary profile. Use Update instead.
  • Update and Delete fail if the user has no notary profile.
  • Audit. Every successful call writes an audit event that includes your Reason.
  • Email notice. Corporate administrators for the client receive an email when a profile changes. If that email cannot be delivered, the call still succeeds.
  • Seal. The seal image is never returned in the response. On Update, SealReplaced tells you whether a new seal was stored.

UpdateNotaryProfile - Response XML

An annotated example of the response XML follows. See Status Codes on the main API page for the possible values and meanings of the StatusCode and StatusDesc elements.

Handle the response in this order:

  • An HTTP 200 does not mean success. Parse the XML and check that StatusCode is 0 before reading anything else.
  • On success, Data echoes the operation. The response does not return the seal image bytes.
  • A non-zero StatusCode comes with a StatusDesc message, for example a missing required field, Use Notary turned off, a user not under your client, or a profile that already exists on Create.
UpdateNotaryProfile - annotated response
<?xml version="1.0" ?>
<UpdateNotaryProfileRs xmlns="urn:com:signix:schema:sdddc-1-1">

  <Status> <!-- Occurs once only -->
    <StatusCode>0</StatusCode> <!-- One of the numeric SC_* values -->
    <StatusDesc>Success</StatusDesc> <!-- Human-readable version of StatusCode -->
  </Status>

  <Data> <!-- Optional. Occurs when Status.StatusCode is 0. -->

    <!-- Echo of the operation: Create, Update or Delete. -->
    <Action>Create</Action>

    <!-- The resolved target user ID. -->
    <UserId>YOUR_NOTARY_USER_ID</UserId>

    <!-- The target email, when available. -->
    <Email>YOUR_NOTARY_EMAIL</Email>

    <!-- yes or no. Create and Update only: yes when a new seal was stored. The seal image is
         never returned. -->
    <SealReplaced>yes</SealReplaced>

  </Data>

</UpdateNotaryProfileRs>