Overview
            
                The White Label API service provides you with much more flexibility over the White Label Embed service,
            with the goal being that your visitors have no idea that your website or application is not providing the service.
            However, it requires coding skills, and it requires you to have your own database of customers.
            
            
                Our White Label API is a stripped-down version of our legal document creation services.
            All surrounding logos, graphics, navigation buttons and links that take the user away from each service have been removed.
            
            
                This allows you to embed our legal document creation services within your own branded website or application, making it
            appear as if these services are being provided by you.
            
            
                Furthermore, you set your own pricing for all of these legal document creation services, and handle all payments
            from your customers yourself. (This is in contrast to the White Label Embed service, where we set the pricing,
            handle all payments, and all you can do is provide an optional discount to your customers and obtain a commission.)
            
            Here's how it works:
            
                - You either allow users to register on your website, or you have existing users in your database.
                    The important thing is that you already know their: First Name, Last Name, Email Address, and Country.
                
- The user clicks on a link or button within your website or application, with the intention of accessing
                    a specific legal document creation service, such as "mywill" (Last Will and Testament),
                    "mypowerofattorney" (Power Of Attorney), etc..
                
- If this is the first time this user is accessing any of the services, then you must send a create_userAPI command to create a new user account in our database.
- If this is not a new user, then you should send a validate_loginAPI command to check if any errors will be encountered if you try to
                    login this user. This allows you to deal with any potential errors within your own code, instead of having the
                    user see an error message on our website.
- An embedded frame or web browser is launched by you, which sends a loginAPI command and takes the
                    user to the following URL using POST:
                    https://legalwills.services/whitelabel.
- The user is presented with a menu of options associated with the specific legal document creation service
                    they wanted to access. This is provided by our website, and does not require any coding by you.
                
- The user can create, modify, view, download, and delete the specific legal document. This is provided by our website, and does not require any coding by you.
                
- If the legal document creation service being accessed has not been paid for, then the user can still create/modify
                    the entire document, but they can only view/download the first page of the document. This is provided by our website, and does not require any coding by you.
                
- You might want to implement some way for the user to close or navigate away from the embedded frame/browser and
                    get back to your website or application. It is up to you to figure out what works best for your solution.
                
- You must provide a way for the user to pay for one or more of the legal document creation services. This could be as simple as a PayPal "Buy Now" button.
                    You set your own prices and take your own payments from users.
                
- When the user pays for specific legal document creation services, you send a modify_userAPI command to enable
                    these services within their account. Note that this can also be done within thecreate_userAPI command.
                In order to use the White Label API, you must store certain user information within your own database and provide a
            front end implementation for accessing our legal document creation services.
            
            
                - At minimum, you must store each user's UserID and Password for accessing our services.
                    These values are required in order to use the loginAPI command.
                    In practice, you will probably also want to store their First Name, Last Name, Email Address, and Country.
                    These values are required in order to use thecreate_userAPI command to create a new user account in our database.
- Since the White Label API only allows the user to access a specific service at a time, the user cannot
                    navigate to any kind of an "account status" page on our website. As a result, we recommend that
                    you take it upon yourself to indicate to each user what services they have enabled, their current membership length, etc.
                    This requires you to keep track of these items in your own database.
                
- If you are allowing your users to access more than one of our legal document creation services, then you should also provide
                    some kind of menu or list of services from which your user can select which service to access.
                    When they select a service, that is where our White Label API takes over.
                
                Since the whole point of this API is that the user has no idea that they are being handled by the
            ExpatLegalWills.com
                website, you must handle all payments
            and emails/communication with the users of these legal document creation services.
            
            
                Customer support for these services can be
            handled by the
                ExpatLegalWills.com
                support team, but you may want
            to remain as the primary contact, sending any such support requests to us for handling as required. Furthermore, your users
            must agree to the
                ExpatLegalWills.com
                Terms of Use (which you could
            simply embed within your own Terms of Use) before accessing our services.
            The details of these arrangements are specified in your services agreement.
            
            
                Using links provided below, you can obtain a list of all users that you have created, indicating the associated legal
            document creation services that you have enabled within their accounts and the length of their memberships.
            You are responsible for providing payment to PartingWishes Inc. for all such enabled services and membership lengths,
            as outlined in your services agreement contract.
            
            
            Sample VB.NET Code
            
                Sending data using POST and reading the response data can be done in any popular coding language.
            Below is some sample VB.NET code for achieving this purpose.
            When sending the POST, remember to URL-encode each value in the name-value pairs.
            
            
                
Dim strNVP As String = "CMD=create_user" + _
    "&AFFILIATE_ID=123456789" + _
    "&AFFILIATE_SIGNATURE=Z9SFMNM5V9BYTWPRBOJK" + _
    "&USERID=" + Server.UrlEncode("janedoe") + _
    "&PASSWORD=" + Server.UrlEncode("abc123") + _
    "&FIRST_NAME=" + Server.UrlEncode("Jane") + _
    "&LAST_NAME=" + Server.UrlEncode("Doe") + _
    "&EMAIL=" + Server.UrlEncode("[email protected]") + _
    "&COUNTRY=" + Server.UrlEncode("Canada") + _
    "&ADDRESS_LINE1=" + Server.UrlEncode("123 Main Street") + _
    "&ADDRESS_LINE2=" + Server.UrlEncode("Suite 400") + _
    "&CITY=" + Server.UrlEncode("Toronto") + _
    "&STATEPROV=" + Server.UrlEncode("Ontario") + _
    "&POSTALCODE=" + Server.UrlEncode("M5P 3X9") + _
    "&GENDER=" + Server.UrlEncode("F") + _
    "&MYWILL=" + Server.UrlEncode("Y") + _
    "&MEM_YEARS=" + Server.UrlEncode("5") + _
    "&TEST_USER=" + Server.UrlEncode("Y")
'Create web request and web response objects
Dim hwrWebRequest As System.Net.HttpWebRequest = DirectCast(System.Net.WebRequest.Create("https://legalwills.services/whitelabel"), System.Net.HttpWebRequest)
hwrWebRequest.Method = "POST"
hwrWebRequest.ContentType = "application/x-www-form-urlencoded"
Dim requestWriter As New System.IO.StreamWriter(hwrWebRequest.GetRequestStream())
'Send the web request
requestWriter.Write(strNVP)
requestWriter.Close()
'Get the response
Dim hwrWebResponse As System.Net.HttpWebResponse = DirectCast(hwrWebRequest.GetResponse(), System.Net.HttpWebResponse)
Dim responseReader As New System.IO.StreamReader(hwrWebRequest.GetResponse().GetResponseStream())
'Read the response
Dim strResponseData As String = responseReader.ReadToEnd()
responseReader.Close()
hwrWebResponse.Close()
'URL-decode the response
Dim strResultCode As String = Server.UrlDecode(strResponseData)
'Handle any errors
If strResultCode <> "OK" Then
    ...
End If
             
            
            Sample HTML Code
            
                To allow a user to access the White Label version of a particular legal document creation service, simply send your user to
            https://legalwills.services/whitelabel using POST,
            and specify the login API command. To avoid exposing our
                https://legalwills.services/whitelabel
                URL to your visitors, we recommend that the POST be sent to an embedded iframe on your website, instead of to a new web browser window.
            
            
                
<form id="form_login" action="https://legalwills.services/whitelabel" method="POST" target="legalwills_iframe">
        <input type="hidden" name="CMD" value="login" />
        <input type="hidden" name="AFFILIATE_ID" value="123456789" />
        <input type="hidden" name="USERID" value="9BHpRteLnjHl4KikmJwvVfPPZeOy1vSc3yauTjJT_3Edk5jT8CYQxZF3BxaZuuerxvzmYxZa5aDVaWM2DuU_7ayJoVGtswf7_VfvvG2XqO41" />
        <input type="hidden" name="PASSWORD" value="ARVC2MS_roiFasiiZNQZQMWwrcrN9jMje9GpjLpPWwAtHgoLVy7mz9Dtfjos48QiY8lAokUWeuvAQZuyicxpQf09dvlWxp58imKx4gZUCns1" />
        <input type="hidden" name="SERVICE_NAME" value="mywill" />
</form>
<iframe id="legalwills_iframe" name="legalwills_iframe" src="about:blank" style="width: 100%; height: 1000px; border: none;"></iframe>
<script>
     window.addEventListener('load', function () {
          document.getElementById('form_login').submit();
     }); 
</script>
             
            
            Demo Website
            
                We have created a fully functional website that uses the White Label API to provide online estate planning services:
            FinalWills.com. Feel free to try it out!
            
            
                We are even providing you with the full source code for this demo website. This allows you to examine all aspects of
            the code, should you have any questions about how to make use of the White Label API. Be sure to read the README.txt file
            for important information about understanding the code.
            
            
            
                This demo website is implemented using ASP.NET Web Forms and VB.NET. It is for demonstration purposes only,
            showing how easy it is to make use of the White Label API within an existing website. Of course, this source code can
            be modified by you to use any web server technology and programming language.
            
            
                Adding the "Online Estate Planning" section (which uses the White Label API) to this existing website took 1
            developer less than 2 weeks of effort.
            
            
            
            
            API Reference
            
                The https://legalwills.services/whitelabel
                URL accepts the below name-value pairs in the POST. If any name-value pairs are sent that are not part of the
            API command, they will simply be ignored. All values should be URL-encoded so that any special
            characters are transmitted properly. An HTTP form is automatically URL-encoded by most browsers.
            
            
                
                    
                        
                        
                            
                                
                                    
                                        
                                            | Field | Description | 
                                    
                                    
                                        
                                            | CMD | (Required) The command being sent to the White Label API.
                                                In this case, the value must be set to create_user. This value is case-insensitive.
                                                This command indicates that you want to create new account in the
                                                ExpatLegalWills.com
                                                database.
                                                No user interface will be presented. Only a single Result Code will be returned. If the
                                                user already exists, then nothing will happen, but you will receive an appropriate Result Code. | 
                                        
                                            | AFFILIATE_ID | (Required) Your unique White Label API affiliate ID number is
                                                not yet assigned since your affiliate account is not set up to use the White Label API.
                                                This number cannot be changed. It associates your affiliate account with any users that you create. | 
                                        
                                            | AFFILIATE_SIGNATURE | (Required) Your current White Label API affiliate signature is
                                                not yet assigned since your affiliate account is not set up to use the White Label API.
                                                You can change this at any time by clicking the "Regenerate Signature" button above.
                                                It represents the credentials for validating you as the owner of this affiliate account.  This value is case-sensitive.
                                                Always keep this information stored in a secure location. | 
                                        
                                            | USERID | (Required) The UserID for the new user account being created.
                                                You need to generate this UserID for any of your users that require access, and store these UserID's in your own database
                                                so that they can be used when logging in a user. All of your UserID's must be unique, since this is how you refer to
                                                a specific user with the White Label API. Note that once an account has been created, the UserID cannot be changed.
                                                Each UserID must be 5 to 50 characters in length and can only contain letters, numbers and underscore.
                                                UserID's are case-insensitive. [NOTE: The
 USERIDandPASSWORDused in the White Label API are completely independent
                                                of any UserID and Password you might require the user enter to allow them to login to their account. The White Label APIUSERIDandPASSWORDare only used for accessing the user's account within our database, not yours.
                                                The user will never see the White Label APIUSERIDandPASSWORDwithin any of our White Label services.] | 
                                        
                                            | PASSWORD | (Required) The Password for the new user account being created.
                                                You need to generate this Password for any of your users that require access, and store these Passwords in your own database
                                                so that they can be used when logging in a user. Each Password must be 5 to 64 characters in length.
                                                Passwords are case-insensitive. [NOTE: The
 USERIDandPASSWORDused in the White Label API are completely independent
                                                of any UserID and Password you might require the user enter to allow them to login to their account. The White Label APIUSERIDandPASSWORDare only used for accessing the user's account within our database, not yours.
                                                The user will never see the White Label APIUSERIDandPASSWORDwithin any of our White Label services.] | 
                                        
                                            | FIRST_NAME | (Required)
                                                The user's first name. Must be between 1 and 64 characters in length.
                                                Note that the combination of FIRST_NAME, LAST_NAME and EMAIL (ignoring case-sensitivity) must be unique
                                                within the
                                                ExpatLegalWills.com
                                                database.
                                                The user can make changes to this field themselves, within any legal document creation service.
                                                To prevent the same account from being used to create documents for multiple people, the FIRST_NAME and LAST_NAME
                                                can only be changed
                                                2
                                                times. | 
                                        
                                            | LAST_NAME | (Required)
                                                The user's last name. Must be between 1 and 64 characters in length.
                                                Note that the combination of FIRST_NAME, LAST_NAME and EMAIL (ignoring case-sensitivity) must be unique
                                                within the
                                                ExpatLegalWills.com
                                                database.
                                                The user can make changes to this field themselves, within any legal document creation service.
                                                To prevent the same account from being used to create documents for multiple people, the FIRST_NAME and LAST_NAME
                                                can only be changed
                                                2
                                                times. | 
                                        
                                            | EMAIL | (Required)
                                                The user's email address. Must be between 1 and 64 characters in length.
                                                Must contain both " @" (at) and "." (period),
                                                and must not contain "," (comma) ";" (semicolon) or " " (space).
                                                Note that the combination of FIRST_NAME, LAST_NAME and EMAIL (ignoring case-sensitivity) must be unique
                                                within the
                                                ExpatLegalWills.com
                                                database.
                                                The user can make changes to this field themselves, within any legal document creation service. | 
                                        
                                            | COUNTRY | (Required)
                                                Name of the user's home Country. Maximum 64 characters. The only countries that are currently supported for
                                                creating valid legal documents are: Canada,United States,South Africa,United Kingdom - England, andUnited Kingdom - Wales,
                                                so these are the only values that will be accepted. These values are case-sensitive.
                                                This value is important to ensure that the legal documents created conform to the user's local jurisdiction,
                                                and also for determining the cost and currency of any enabled services.
                                                The user can make changes to this field themselves, within any legal document creation service. | 
                                        
                                            | ADDRESS_LINE1 | (Optional)
                                                The user's home street address. Maximum 128 characters.
                                                The user can make changes to this field themselves, within any legal document creation service. | 
                                        
                                            | ADDRESS_LINE2 | (Optional)
                                                Second line of the user's home street address, if required. Maximum 128 characters.
                                                The user can make changes to this field themselves, within any legal document creation service. | 
                                        
                                            | CITY | (Optional)
                                                Name of the user's home city or town. Maximum 64 characters.
                                                The user can make changes to this field themselves, within any legal document creation service. | 
                                        
                                            | STATEPROV | (Optional)
                                                Name of the user's home State, Province, or County. Maximum 64 characters. The only valid values that will be accepted
                                                are listed as the "Name" values in the
                                                states_all.xml file.
                                                These values are case-sensitive. This value is important to ensure that the legal documents created conform to the user's local jurisdiction.
                                                Note that the State of "Louisiana" will be accepted as a valid value,
                                                    however it is not currently supported for creating legal documents.
                                                
                                                
                                                The user can make changes to this field themselves, within any legal document creation service. | 
                                        
                                            | POSTALCODE | (Optional)
                                                The user's home Zip or Postal Code. Maximum 32 characters.
                                                The user can make changes to this field themselves, within any legal document creation service. | 
                                        
                                            | GENDER | (Optional)
                                                The user's gender. Valid values are: M(Male),F(Female) andX(Gender neutral). These values are case-insensitive.
                                                The gender is required for the readability of the legal document creation services and for the construction
                                                of the final documents. Knowing the gender allows us to use the correct pronoun
                                                (i.e. "he" or "she" or "they", "his" or "her" or "their").
                                                The user can make changes to this field themselves, within any legal document creation service. | 
                                        
                                            | MYWILL | (Optional)
                                                Has the user paid you for the "MyWill" service (Last Will and Testament)?
                                                Valid values are: YandN. The default isN. These values are case-insensitive.
                                                    
                                                        Yindicates that the user has paid you for this service, so we will enable the service within their account.
                                                        Nindicates that the user has not paid you for this service, so the user is only able to try out the service.
                                                        The user can still create/modify their entire document, but they can only view/download the first page. | 
                                        
                                            | MYPOWEROFATTORNEY | (Optional)
                                                Has the user paid you for the "MyPowerOfAttorney" service (Power of Attorney)?
                                                Valid values are: YandN. The default isN. These values are case-insensitive.
                                                    
                                                        Yindicates that the user has paid you for this service, so we will enable the service within their account.
                                                        Nindicates that the user has not paid you for this service, so the user is only able to try out the service.
                                                        The user can still create/modify their entire document, but they can only view/download the first page. | 
                                        
                                            | MYLIVINGWILL | (Optional)
                                                Has the user paid you for the "MyLivingWill" service (Living Will / Power of Attorney for Health Care)?
                                                Valid values are: YandN. The default isN. These values are case-insensitive.
                                                    
                                                        Yindicates that the user has paid you for this service, so we will enable the service within their account.
                                                        Nindicates that the user has not paid you for this service, so the user is only able to try out the service.
                                                        The user can still create/modify their entire document, but they can only view/download the first page. | 
                                        
                                            | MYEXPATWILL_CANADA | (Optional)
                                                Has the user paid you for the "MyExpatWill (Canada)" service (Expatriate Will for Assets Held in Canada)?
                                                Valid values are: YandN. The default isN. These values are case-insensitive.
                                                    
                                                        Yindicates that the user has paid you for this service, so we will enable the service within their account.
                                                        Nindicates that the user has not paid you for this service, so the user is only able to try out the service.
                                                        The user can still create/modify their entire document, but they can only view/download the first page. | 
                                        
                                            
                                                | MYEXPATWILL_QUEBEC | (Optional)
                                                    Has the user paid you for the "MyExpatWill (Québec)" service (Expatriate Will for Assets Held in Québec)?
                                                    Valid values are: YandN. The default isN. These values are case-insensitive.
                                                        
                                                            Yindicates that the user has paid you for this service, so we will enable the service within their account.
                                                            Nindicates that the user has not paid you for this service, so the user is only able to try out the service.
                                                            The user can still create/modify their entire document, but they can only view/download the first page. | 
                                        
                                        
                                            | MYEXPATWILL_US | (Optional)
                                                Has the user paid you for the "MyExpatWill (U.S.)" service (Expatriate Will for Assets Held in the United States)?
                                                Valid values are: YandN. The default isN. These values are case-insensitive.
                                                    
                                                        Yindicates that the user has paid you for this service, so we will enable the service within their account.
                                                        Nindicates that the user has not paid you for this service, so the user is only able to try out the service.
                                                        The user can still create/modify their entire document, but they can only view/download the first page. | 
                                        
                                            | MYEXPATWILL_UK | (Optional)
                                                Has the user paid you for the "MyExpatWill (U.K.)" service (Expatriate Will for Assets Held in the United Kingdom - England or Wales)?
                                                Valid values are: YandN. The default isN. These values are case-insensitive.
                                                    
                                                        Yindicates that the user has paid you for this service, so we will enable the service within their account.
                                                        Nindicates that the user has not paid you for this service, so the user is only able to try out the service.
                                                        The user can still create/modify their entire document, but they can only view/download the first page. | 
                                        
                                            | MYLIFELOCKER | (Optional)
                                                Has the user paid you for the "MyLifeLocker" service (Store personal information critical to be passed on to an Executor)?
                                                Valid values are: YandN. The default isN. These values are case-insensitive.
                                                    
                                                        Yindicates that the user has paid you for this service, so we will enable the service within their account.
                                                        Nindicates that the user has not paid you for this service, so the user is only able to try out the service.
                                                        The user can still create/modify their entire document, but they can only view/download the first page. | 
                                        
                                            | MYFUNERAL | (Optional)
                                                Has the user paid you for the "MyFuneral" service (Document your funeral wishes and organ donation preferences)?
                                                Valid values are: YandN. The default isN. These values are case-insensitive.
                                                    
                                                        Yindicates that the user has paid you for this service, so we will enable the service within their account.
                                                        Nindicates that the user has not paid you for this service, so the user is only able to try out the service.
                                                        The user can still create/modify their entire document, but they can only view/download the first page. | 
                                        
                                            | MEM_YEARS | (Optional) The number of years that this user has paid to be able to access
                                                all of their legal document creation services. This value is independent of what actual services have been paid for, if any.
                                                Valid values are integers: 
                                                    If this name-value pair is omitted, then the default is
                                                        1,5,10, or25=
                                                        Number of years before the given user's membership expires, as calculated from
                                                        their membership start date (the day their membership was created, or the day that they paid for their first service,
                                                        whichever is later).
                                                        -1= Lifetime membership (never expires). 1year.
                                                (Note that a user with an expired membership will still be able to access all of their services. The only impact is that
                                                if they previously paid for a service, they will only be able to view the first page of the document. They will need
                                                to add 1 or moreMEM_YEARSbefore they can resume viewing/downloading the entire document.) | 
                                        
                                            | TEST_USER | (Optional)
                                                Is this user account being created for development testing purposes only? Valid values are: YandN.
                                                These values are case-insensitive. If this name-value pair is omitted, then the default isN.
                                                A test user works the same as a live user, except that you will not be liable for payment for enabling services
                                                in a test user account. Test users can be modified and deleted by you in the User Database section, below. | 
                                    
                                
                             
                         
                     
                    
                        
                        
                            
                                
                                    
                                        
                                            | Field | Description | 
                                    
                                    
                                        
                                            | CMD | (Required) The command being sent to the White Label API.
                                                In this case, the value must be set to modify_user. This value is case-insensitive.
                                                This command indicates that you want to modify an existing account in the
                                                ExpatLegalWills.com
                                                database.
                                                No user interface will be presented. Only a single Result Code will be returned. | 
                                        
                                            | AFFILIATE_ID | (Required) Your unique White Label API affiliate ID number is
                                                not yet assigned since your affiliate account is not set up to use the White Label API.
                                                This number cannot be changed. It associates your affiliate account with any users that you create. | 
                                        
                                            | AFFILIATE_SIGNATURE | (Required) Your current White Label API affiliate signature is
                                                not yet assigned since your affiliate account is not set up to use the White Label API.
                                                You can change this at any time by clicking the "Regenerate Signature" button above.
                                                It represents the credentials for validating you as the owner of this affiliate account.  This value is case-sensitive.
                                                Always keep this information stored in a secure location. | 
                                        
                                            | USERID | (Required) The UserID for the user account you wish to modify.
                                                The UserID cannot be changed. | 
                                        
                                            | PASSWORD | (Optional)
                                                The new Password for this user account. Keep in mind that you need to maintain this Password in your own database
                                                so that it can be used when logging in this user. Each Password must be 5 to 64 characters in length. Passwords are case-insensitive.
                                                The user will never see this Password within any of our White Label services.
                                                If this name-value pair is omitted, then the Password will not be changed. | 
                                        
                                            | FIRST_NAME | (Optional)
                                                The new value for this user's first name. Must be between 1 and 64 characters in length.
                                                Note that the combination of FIRST_NAME, LAST_NAME and EMAIL (ignoring case-sensitivity) must be unique
                                                within the
                                                ExpatLegalWills.com
                                                database.
                                                The user can make changes to this field themselves, within any legal document creation service.
                                                To prevent the same account from being used to create documents for multiple people, the FIRST_NAME and LAST_NAME
                                                can only be changed
                                                2
                                                times.
                                                If this name-value pair is omitted, then the first name will not be changed. | 
                                        
                                            | LAST_NAME | (Optional)
                                                The new value for this user's last name. Must be between 1 and 64 characters in length.
                                                Note that the combination of FIRST_NAME, LAST_NAME and EMAIL (ignoring case-sensitivity) must be unique
                                                within the
                                                ExpatLegalWills.com
                                                database.
                                                The user can make changes to this field themselves, within any legal document creation service.
                                                To prevent the same account from being used to create documents for multiple people, the FIRST_NAME and LAST_NAME
                                                can only be changed
                                                2
                                                times.
                                                If this name-value pair is omitted, then the last name will not be changed. | 
                                        
                                            | EMAIL | (Optional)
                                                The new value for this user's email address. Must be between 1 and 64 characters in length.
                                                Must contain both " @" (at) and "." (period),
                                                and must not contain "," (comma) ";" (semicolon) or " " (space).
                                                Note that the combination of FIRST_NAME, LAST_NAME and EMAIL (ignoring case-sensitivity) must be unique
                                                within the
                                                ExpatLegalWills.com
                                                database.
                                                The user can make changes to this field themselves, within any legal document creation service.
                                                If this name-value pair is omitted, then the email address will not be changed. | 
                                        
                                            | COUNTRY | (Optional)
                                                The new value for the name of this user's home Country. Maximum 64 characters. The only countries that are currently supported for
                                                creating valid legal documents are: Canada,United States,South Africa,United Kingdom - England, andUnited Kingdom - Wales,
                                                so these are the only values that will be accepted. These values are case-sensitive.
                                                This value is important to ensure that the legal documents created conform to the user's local jurisdiction,
                                                and also for determining the cost and currency of any enabled services.
                                                The user can make changes to this field themselves, within any legal document creation service.
                                                If this name-value pair is omitted, then the Country will not be changed. | 
                                        
                                            | ADDRESS_LINE1 | (Optional)
                                                The new value for this user's home street address. Maximum 128 characters.
                                                The user can make changes to this field themselves, within any legal document creation service.
                                                If this name-value pair is omitted, then the street address (line 1) will not be changed. | 
                                        
                                            | ADDRESS_LINE2 | (Optional)
                                                The new value for the second line of this user's home street address, if required. Maximum 128 characters.
                                                The user can make changes to this field themselves, within any legal document creation service.
                                                If this name-value pair is omitted, then the street address (line 2) will not be changed. | 
                                        
                                            | CITY | (Optional)
                                                The new value for the name of this user's home city or town. Maximum 64 characters.
                                                The user can make changes to this field themselves, within any legal document creation service.
                                                If this name-value pair is omitted, then the city/town will not be changed. | 
                                        
                                            | STATEPROV | (Optional)
                                                The new value for the name of this user's home State, Province, or County. Maximum 64 characters. The only valid values that will be accepted
                                                are listed as the "Name" values in the
                                                states_all.xml file.
                                                These values are case-sensitive. This value is important to ensure that the legal documents created conform to the user's local jurisdiction.
                                                Note that the State of "Louisiana" will be accepted as a valid value,
                                                    however it is not currently supported for creating legal documents.
                                                
                                                
                                                The user can make changes to this field themselves, within any legal document creation service.
                                                If this name-value pair is omitted, then the State/Province/County will not be changed. | 
                                        
                                            | POSTALCODE | (Optional)
                                                The new value for this user's home Zip or Postal Code. Maximum 32 characters.
                                                The user can make changes to this field themselves, within any legal document creation service.
                                                If this name-value pair is omitted, then the Zip/Postal Code will not be changed. | 
                                        
                                            | GENDER | (Optional)
                                                The new value for this user's gender. Valid values are: M(Male),F(Female) andX(Gender neutral). These values are case-insensitive.
                                                The gender is required for the readability of the legal document creation services and for the construction
                                                of the final documents. Knowing the gender allows us to use the correct pronoun
                                                (i.e. "he" or "she" or "they", "his" or "her" or "their").
                                                The user can make changes to this field themselves, within any legal document creation service.
                                                If this name-value pair is omitted, then the gender will not be changed. | 
                                        
                                            | MYWILL | (Optional)
                                                Has the user paid you for the "MyWill" service (Last Will and Testament)?
                                                Valid values are: YandN. These values are case-insensitive.
                                                    If this name-value pair is omitted, then the value we have stored in our database will not be changed.
                                                        Ylets us know that the user has paid you for this service, so we will enable the service within their account,
                                                        if it isn't already enabled.
                                                        Nlets us know that either (a) the user is still only able to try out the service, or (b) a previous payment has been refunded.
                                                        In either case, we will make sure that the service is disabled within their account.
                                                        The user can still create/modify their entire document, but they can only view/download the first page. | 
                                        
                                            | MYPOWEROFATTORNEY | (Optional)
                                                Has the user paid you for the "MyPowerOfAttorney" service (Power of Attorney)?
                                                Valid values are: YandN. These values are case-insensitive.
                                                    If this name-value pair is omitted, then the value we have stored in our database will not be changed.
                                                        Ylets us know that the user has paid you for this service, so we will enable the service within their account,
                                                        if it isn't already enabled.
                                                        Nlets us know that either (a) the user is still only able to try out the service, or (b) a previous payment has been refunded.
                                                        In either case, we will make sure that the service is disabled within their account.
                                                        The user can still create/modify their entire document, but they can only view/download the first page. | 
                                        
                                            | MYLIVINGWILL | (Optional)
                                                Has the user paid you for the "MyLivingWill" service (Living Will / Power of Attorney for Health Care)?
                                                Valid values are: YandN. These values are case-insensitive.
                                                    If this name-value pair is omitted, then the value we have stored in our database will not be changed.
                                                        Ylets us know that the user has paid you for this service, so we will enable the service within their account,
                                                        if it isn't already enabled.
                                                        Nlets us know that either (a) the user is still only able to try out the service, or (b) a previous payment has been refunded.
                                                        In either case, we will make sure that the service is disabled within their account.
                                                        The user can still create/modify their entire document, but they can only view/download the first page. | 
                                        
                                            | MYEXPATWILL_CANADA | (Optional)
                                                Has the user paid you for the "MyExpatWill (Canada)" service (Expatriate Will for Assets Held in Canada)?
                                                Valid values are: YandN. These values are case-insensitive.
                                                    If this name-value pair is omitted, then the value we have stored in our database will not be changed.
                                                        Ylets us know that the user has paid you for this service, so we will enable the service within their account,
                                                        if it isn't already enabled.
                                                        Nlets us know that either (a) the user is still only able to try out the service, or (b) a previous payment has been refunded.
                                                        In either case, we will make sure that the service is disabled within their account.
                                                        The user can still create/modify their entire document, but they can only view/download the first page. | 
                                        
                                            
                                                | MYEXPATWILL_QUEBEC | (Optional)
                                                    Has the user paid you for the "MyExpatWill (Québec)" service (Expatriate Will for Assets Held in Québec)?
                                                    Valid values are: YandN. These values are case-insensitive.
                                                        If this name-value pair is omitted, then the value we have stored in our database will not be changed.
                                                            Ylets us know that the user has paid you for this service, so we will enable the service within their account,
                                                            if it isn't already enabled.
                                                            Nlets us know that either (a) the user is still only able to try out the service, or (b) a previous payment has been refunded.
                                                            In either case, we will make sure that the service is disabled within their account.
                                                            The user can still create/modify their entire document, but they can only view/download the first page. | 
                                        
                                        
                                            | MYEXPATWILL_US | (Optional)
                                                Has the user paid you for the "MyExpatWill (U.S.)" service (Expatriate Will for Assets Held in the United States)?
                                                Valid values are: YandN. These values are case-insensitive.
                                                    If this name-value pair is omitted, then the value we have stored in our database will not be changed.
                                                        Ylets us know that the user has paid you for this service, so we will enable the service within their account,
                                                        if it isn't already enabled.
                                                        Nlets us know that either (a) the user is still only able to try out the service, or (b) a previous payment has been refunded.
                                                        In either case, we will make sure that the service is disabled within their account.
                                                        The user can still create/modify their entire document, but they can only view/download the first page. | 
                                        
                                            | MYEXPATWILL_UK | (Optional)
                                                Has the user paid you for the "MyExpatWill (U.K.)" service (Expatriate Will for Assets Held in the United Kingdom - England or Wales)?
                                                Valid values are: YandN. These values are case-insensitive.
                                                    If this name-value pair is omitted, then the value we have stored in our database will not be changed.
                                                        Ylets us know that the user has paid you for this service, so we will enable the service within their account,
                                                        if it isn't already enabled.
                                                        Nlets us know that either (a) the user is still only able to try out the service, or (b) a previous payment has been refunded.
                                                        In either case, we will make sure that the service is disabled within their account.
                                                        The user can still create/modify their entire document, but they can only view/download the first page. | 
                                        
                                            | MYLIFELOCKER | (Optional)
                                                Has the user paid you for the "MyLifeLocker" service (Store personal information critical to be passed on to an Executor)?
                                                Valid values are: YandN. These values are case-insensitive.
                                                    If this name-value pair is omitted, then the value we have stored in our database will not be changed.
                                                        Ylets us know that the user has paid you for this service, so we will enable the service within their account,
                                                        if it isn't already enabled.
                                                        Nlets us know that either (a) the user is still only able to try out the service, or (b) a previous payment has been refunded.
                                                        In either case, we will make sure that the service is disabled within their account.
                                                        The user can still create/modify their entire document, but they can only view/download the first page. | 
                                        
                                            | MYFUNERAL | (Optional)
                                                Has the user paid you for the "MyFuneral" service (Document your funeral wishes and organ donation preferences)?
                                                Valid values are: YandN. These values are case-insensitive.
                                                    If this name-value pair is omitted, then the value we have stored in our database will not be changed.
                                                        Ylets us know that the user has paid you for this service, so we will enable the service within their account,
                                                        if it isn't already enabled.
                                                        Nlets us know that either (a) the user is still only able to try out the service, or (b) a previous payment has been refunded.
                                                        In either case, we will make sure that the service is disabled within their account.
                                                        The user can still create/modify their entire document, but they can only view/download the first page. | 
                                        
                                            | MEM_YEARS | (Optional) The number of years to be ADDED or REMOVED
                                                from this user's membership account.
                                                Whether years are ADDED or REMOVED is specified by the MEM_YEARS_OPfield.
                                                Note that a user's membership length is independent of what actual services have been paid for, if any.
                                                Valid values are integers:
                                                    If this name-value pair is omitted, then the value we have stored in our database will not be changed.
                                                (Note that a user with an expired membership will still be able to access all of their services. The only impact is that
                                                if they previously paid for a service, they will only be able to view the first page of the document. They will need
                                                to add 1 or more
                                                        1,5,10, or25=
                                                        Number of years to be ADDED or REMOVED from the given user's membership account.
                                                        -1= ADD or REMOVE a Lifetime membership for the given user (which never expires). MEM_YEARSbefore they can resume viewing/downloading the entire document.) | 
                                        
                                            | MEM_YEARS_OP | (Optional)
                                                Specifies whether the value in the MEM_YEARSfield should be
                                                ADDED or REMOVED from the given user's membership account.
                                                Valid values are:addandremove. These values are case-insensitive.
                                                    If this name-value pair is omitted, then the default is
                                                        addindicates thatMEM_YEARSyears should be ADDED to the user's current membership length.
                                                        IfMEM_YEARS=-1, then their membership length will be set to -1 (Lifetime membership).
                                                        removeindicates thatMEM_YEARSyears should be REMOVED from the user's current membership length.
                                                        IfMEM_YEARS=-1, then their membership length will be set to 1 year. add. If the operation will result in the user having less than a 1-year
                                                membership, then their membership length will be reset to 1 year. | 
                                    
                                
                             
                         
                     
                    
                        
                        
                            
                                
                                    
                                        
                                            | Field | Description | 
                                    
                                    
                                        
                                            | CMD | (Required) The command being sent to the White Label API.
                                                In this case, the value must be set to query_if_expired. This value is case-insensitive.
                                                This command indicates that you want to check if the user with the givenUSERIDhas a
                                                membership account which has expired. This command will return the Result Code "MEM_EXPIRED"
                                                if the membership has expired, or "OK" if the membership has not expired.
                                                (Note that a user with an expired membership will still be able to access all of their services. The only impact is that
                                                if they previously paid for a service, they will only be able to view the first page of the document. They will need
                                                to extend their membershipMEM_YEARSbefore they can resume viewing/downloading the entire document.) | 
                                        
                                            | AFFILIATE_ID | (Required) Your unique White Label API affiliate ID number is
                                                not yet assigned since your affiliate account is not set up to use the White Label API.
                                                This number cannot be changed. It associates your affiliate account with any users that you create. | 
                                        
                                            | AFFILIATE_SIGNATURE | (Required) Your current White Label API affiliate signature is
                                                not yet assigned since your affiliate account is not set up to use the White Label API.
                                                You can change this at any time by clicking the "Regenerate Signature" button above.
                                                It represents the credentials for validating you as the owner of this affiliate account.  This value is case-sensitive.
                                                Always keep this information stored in a secure location. | 
                                        
                                            | USERID | (Required)
                                                The UserID for the user account that you want to query. This UserID must
                                                already exist in our database, by previously sending a create_userAPI command. | 
                                    
                                
                             
                         
                     
                    
                        
                        
                            
                                
                                    Instead of a single Result Code, the query_mywill API command returns a JSON object in the following format:
                                
                                
{
    "ResultCode": "OK",
    "UserID": "janedoe",
    "MyWillEnabled": true,
    "MyWillStarted": true,
    "MyWillComplete": false,
    "MyWillNumDownloads": 2,
    "MyWillLastUpdated": "2022-03-16T09:30:28",
    "MyWillFirstDownloaded": "2022-03-17T14:21:04",
    "MyWillLastDownloaded": "2022-03-17T23:15:55"
}
ResultCode (string) - The returned ResultCode could be any of the codes in the "Result Codes" table below. "OK" indicates no errors.
UserID (string) - The USERID that was provided for this CMD.
MyWillEnabled (boolean) - Whether or not the MyWill service has been enabled for the given USERID.
MyWillStarted (boolean) - Whether or not this user has started to create a MyWill document. If they delete the document this goes back to 'false'.
MyWillComplete (boolean) - Whether or not all of the required questions have been answered for this user's MyWill document.
MyWillNumDownloads (integer) - Number of times the user has downloaded their MyWill document.
MyWillLastUpdated (datetime) - Date and time that the current MyWill document was last updated by the user, in Central Standard Time zone.
MyWillFirstDownloaded (datetime) - Date and time that the MyWill document was first downloaded by the user, in Central Standard Time zone.
MyWillLastDownloaded (datetime) - Date and time that the MyWill document was last downloaded by the user, in Central Standard Time zone.
                                 
                                
                                    
                                        
                                            | Field | Description | 
                                    
                                    
                                        
                                            | CMD | (Required) The command being sent to the White Label API.
                                                In this case, the value must be set to query_mywill. This value is case-insensitive.
                                                This command indicates that you want to retrieve the status of the MyWill document for the user with the givenUSERID. | 
                                        
                                            | AFFILIATE_ID | (Required) Your unique White Label API affiliate ID number is
                                                not yet assigned since your affiliate account is not set up to use the White Label API.
                                                This number cannot be changed. It associates your affiliate account with any users that you create. | 
                                        
                                            | AFFILIATE_SIGNATURE | (Required) Your current White Label API affiliate signature is
                                                not yet assigned since your affiliate account is not set up to use the White Label API.
                                                You can change this at any time by clicking the "Regenerate Signature" button above.
                                                It represents the credentials for validating you as the owner of this affiliate account.  This value is case-sensitive.
                                                Always keep this information stored in a secure location. | 
                                        
                                            | USERID | (Required)
                                                The UserID for the user account that you want to query. This UserID must
                                                already exist in our database, by previously sending a create_userAPI command. | 
                                    
                                
                             
                         
                     
                    
                    
                        
                        
                            
                                
                                    The encrypt API command does not return a Result Code. It returns the encrypted string. If an error occurred,
                                then an empty string is returned. Note that the encrypted value must be used right away, since it expires and becomes invalid within 60 seconds.
                                
                                
                                    
                                        
                                            | Field | Description | 
                                    
                                    
                                        
                                            | CMD | (Required) The command being sent to the White Label API.
                                                In this case, the value must be set to encrypt. This value is case-insensitive.
                                                This command indicates that you want to encrypt the given string.
                                                This command returns the encrypted string, instead of a Result Code. If there was an error
                                                (e.g. an invalidAFFILIATE_IDorAFFILIATE_SIGNATUREwas provided)
                                                then an empty string is returned. | 
                                        
                                            | AFFILIATE_ID | (Required) Your unique White Label API affiliate ID number is
                                                not yet assigned since your affiliate account is not set up to use the White Label API.
                                                This number cannot be changed. It associates your affiliate account with any users that you create. | 
                                        
                                            | AFFILIATE_SIGNATURE | (Required) Your current White Label API affiliate signature is
                                                not yet assigned since your affiliate account is not set up to use the White Label API.
                                                You can change this at any time by clicking the "Regenerate Signature" button above.
                                                It represents the credentials for validating you as the owner of this affiliate account.  This value is case-sensitive.
                                                Always keep this information stored in a secure location. | 
                                        
                                            | STR | (Required)
                                                The string you wish to encrypt. The encrypted string is returned by this API command instead of a Result Code. | 
                                    
                                
                             
                         
                     
                    
                        
                        
                            
                                
                                    When sending a user to the White Label API URL with a login API command, if there is an error with
                                any of the values given, then the error will be displayed on the page instead of granting access to the given user.
                                It is recommended that you send a validate_login API command first, to verify that there are no errors,
                                before sending the user to the White Label API URL with a login command. This allows you to deal with any potential
                                errors within your own code, instead of having the user see an error message on our website.
                                
                                
                                    
                                        
                                            | Field | Description | 
                                    
                                    
                                        
                                            | CMD | (Required) The command being sent to the White Label API.
                                                In this case, the value must be set to validate_login. This value is case-insensitive.
                                                This command indicates that you just want to check if the given name-value pairs
                                                will result in an error if you send alogincommand.
                                                No database changes will occur, and no user interface will be presented. Only a single Result Code will be returned. | 
                                        
                                            | AFFILIATE_ID | (Required) Your unique White Label API affiliate ID number is
                                                not yet assigned since your affiliate account is not set up to use the White Label API.
                                                This number cannot be changed. It associates your affiliate account with any users that you create. | 
                                        
                                            | USERID | (Required)
                                                The UserID for the user wanting to access the specified legal document creation service. This UserID must
                                                already exist in our database, by previously sending a create_userAPI command.
                                                This value must be encrypted using theencryptAPI command. | 
                                        
                                            | PASSWORD | (Required)
                                                The Password for the user wanting to access the specified legal document creation service.
                                                This Password will be used along with the supplied USERID to verify if the given USERIDandPASSWORDcombination is correct.
                                                This value must be encrypted using theencryptAPI command. | 
                                        
                                            | SERVICE_NAME | (Required) The specific legal document creation service that the user wants to access in this session.
                                                Valid values are (case-insensitive): 
                                                    
                                                        mywill- Last Will and Testament
                                                        mypowerofattorney- Power of Attorney
                                                        mylivingwill- Living Will (Power of Attorney for Health Care)
                                                        myexpatwill_canada- Expatriate Will for Assets Held in Canada
                                                            myexpatwill_quebec- Expatriate Will for Assets Held in Québec
                                                        myexpatwill_us- Expatriate Will for Assets Held in the United States
                                                        myexpatwill_uk- Expatriate Will for Assets Held in the United Kingdom (England or Wales)
                                                        mylifelocker- Store personal information critical to be passed on to an Executor
                                                        myfuneral- Document Funeral Wishes and Organ Donation Preferences | 
                                    
                                
                             
                         
                     
                    
                        
                        
                            
                                
                                    When sending a user to the White Label API URL with a login API command, if there is an error with
                                any of the values given, then the error will be displayed on the page instead of granting access to the given user.
                                It is recommended that you send a validate_login API command first, to verify that there are no errors,
                                before sending the user to the White Label API URL with a login command. This allows you to deal with any potential
                                errors within your own code, instead of having the user see an error message on our website.
                                
                                The login API command does not return a Result Code. It displays a User Interface for the selected legal document creation service.
                                
                                    
                                        
                                            | Field | Description | 
                                    
                                    
                                        
                                            | CMD | (Required) The command being sent to the White Label API.
                                                In this case, the value must be set to login. This value is case-insensitive.
                                                This command indicates that you want to log in the given user and present them
                                                with the specified legal document creation service. | 
                                        
                                            | AFFILIATE_ID | (Required) Your unique White Label API affiliate ID number is
                                                not yet assigned since your affiliate account is not set up to use the White Label API.
                                                This number cannot be changed. It associates your affiliate account with any users that you create. | 
                                        
                                            | USERID | (Required)
                                                The UserID for the user wanting to access the specified legal document creation service. This UserID must
                                                already exist in our database, by previously sending a create_userAPI command.
                                                This UserID will be used along with the supplied PASSWORD to log them in.
                                                This value must be encrypted using theencryptAPI command. | 
                                        
                                            | PASSWORD | (Required)
                                                The Password for the user wanting to access the specified legal document creation service.
                                                This Password will be used along with the supplied USERID to log them in.
                                                This value must be encrypted using the encryptAPI command. | 
                                        
                                            | SERVICE_NAME | (Required) The specific legal document creation service that the user wants to access in this session.
                                                Valid values are (case-insensitive): 
                                                    
                                                        mywill- Last Will and Testament
                                                        mypowerofattorney- Power of Attorney
                                                        mylivingwill- Living Will (Power of Attorney for Health Care)
                                                        myexpatwill_canada- Expatriate Will for Assets Held in Canada
                                                            myexpatwill_quebec- Expatriate Will for Assets Held in Québec
                                                        myexpatwill_us- Expatriate Will for Assets Held in the United States
                                                        myexpatwill_uk- Expatriate Will for Assets Held in the United Kingdom (England or Wales)
                                                        mylifelocker- Store personal information critical to be passed on to an Executor
                                                        myfuneral- Document Funeral Wishes and Organ Donation Preferences | 
                                    
                                
                             
                         
                     
                    
                        
                        
                            
                                The logout API command should be sent to the same window (e.g. iframe) as was used for the login API command.
                                
                                    
                                        
                                            | Field | Description | 
                                    
                                    
                                        
                                            | CMD | (Required) The command being sent to the White Label API.
                                                In this case, the value must be set to logout. This value is case-insensitive.
                                                This command indicates that you want to logout the current user.  If this user needs to re-access
                                                a legal document creation service, then thelogincommand must be sent again.
                                                If nobody is currently logged in, then the "OK" Result Code is still returned. | 
                                        
                                            | AFFILIATE_ID | (Required) Your unique White Label API affiliate ID number is
                                                not yet assigned since your affiliate account is not set up to use the White Label API.
                                                This number cannot be changed. It associates your affiliate account with any users that you create. | 
                                    
                                
                             
                         
                     
                 
             
            
            
            
            Result Codes
            The following list shows the possible Result Codes that can be returned by the White Label API.
            
                
                    
                        
                        
                            
                                
                                    
                                        
                                            | Result Code | Description | 
                                    
                                    
                                        
                                            | OK | No errors. The command was successful. | 
                                        
                                            | BAD_ADDRESS_LINE1 | The given ADDRESS_LINE1value was longer than 128 characters in length. | 
                                        
                                            | BAD_ADDRESS_LINE2 | The given ADDRESS_LINE2value was longer than 128 characters in length. | 
                                        
                                            | BAD_CITY | The given CITYvalue was longer than 64 characters in length. | 
                                        
                                            | BAD_COUNTRY | The given COUNTRYvalue was longer than 64 characters in length. | 
                                        
                                            | BAD_EMAIL | The given EMAILvalue was not between 1 and 64 characters in length. | 
                                        
                                            | BAD_FIRST_NAME | The given FIRST_NAMEvalue was not between 1 and 64 characters in length. | 
                                        
                                            | BAD_LAST_NAME | The given LAST_NAMEvalue was not between 1 and 64 characters in length. | 
                                        
                                            | BAD_PASSWORD | The given PASSWORDvalue was not between 5 and 64 characters in length.
                                                Also, when using theloginorvalidate_logincommands,
                                                make sure thePASSWORDvalue is not sent in plain text. It must
                                                be encrypted using theencryptAPI command. | 
                                        
                                            | BAD_POSTALCODE | The given POSTALCODEvalue was longer than 32 characters in length. | 
                                        
                                            | BAD_PREFIX | The given PREFIXvalue was not between 1 and 5 characters in length, or does not contain
                                                only letters, numbers, hyphen and underscore characters. | 
                                        
                                            | BAD_REFCODE | The given REFCODEvalue was not between 1 and 64 characters in length, or does not contain
                                                only letters, numbers, hyphen and underscore characters. | 
                                        
                                            | BAD_STATEPROV | The given STATEPROVvalue was longer than 64 characters in length. | 
                                        
                                            | BAD_USERID | The given USERIDvalue was not between 5 and 50 characters in length, or does not contain
                                                only letters, numbers and underscore characters.
                                                Also, when using thelogin,validate_login, orlogoutcommands,
                                                make sure theUSERIDvalue is not sent in plain text. It must
                                                be encrypted using theencryptAPI command. | 
                                        
                                            | BANNED_IP | Login was attempted from a banned IP address. An IP address might be banned by the administrators
                                                of
                                                ExpatLegalWills.com
                                                for security reasons.
                                                Please send an email to
                                                [email protected]
                                                if you believe this to be in error. | 
                                        
                                            | BANNED_USERID | Login was attempted by a banned USERID. A UserID might be banned by the administrators
                                                of
                                                ExpatLegalWills.com
                                                for security reasons.
                                                Please send an email to
                                                [email protected]
                                                if you believe this to be in error. | 
                                        
                                            | DECRYPTION_FAILURE | The decryption of an encrypted field failed.
                                                It might not have been encrypted properly using the encryptcommand. | 
                                        
                                            | DUPLICATE_USER | The given combination of FIRST_NAME,LAST_NAMEandEMAILalready
                                                exists in the database, under a differentUSERID. This combination must be unique for all users.
                                                If this was acreate_usercommand, then a new account could not be created.
                                                If this was amodify_usercommand, then the existing account was not modified. | 
                                        
                                            | ENCRYPTION_EXPIRED | An encrypted field could not be decrypted because it had expired.
                                                For security reasons, the results of the encryptcommand can only be used for a limited time. | 
                                        
                                            | EXISTING_USERID | The given USERIDalready exists in our database. A new account could not be created. | 
                                        
                                            | INVALID_CMD | An invalid value was provided for CMD. Valid values are listed in the above API Reference. | 
                                        
                                            | INVALID_COUNTRY | An invalid value was provided for COUNTRY. Valid values are listed in the above API Reference. | 
                                        
                                            | INVALID_CREDENTIALS | The given AFFILIATE_IDandAFFILIATE_SIGNATUREcombination was not valid,
                                                or one of these required name-value pairs was missing.
                                                Valid values for your account are provided at the very top of this page. | 
                                        
                                            | INVALID_EMAIL | An invalid value was provided for EMAIL. To be considered a valid email address, it must
                                                satisfy the constraints outlined in the above API Reference. | 
                                        
                                            | INVALID_GENDER | An invalid value was provided for GENDER. Valid values are listed in the above API Reference. | 
                                        
                                            | INVALID_LOGIN | The given USERIDandPASSWORDcombination was not valid. No such account exists.
                                                Also, when using theloginorvalidate_logincommands,
                                                make sure theUSERIDandPASSWORDvalues are not sent in plain text. They must
                                                be encrypted using theencryptAPI command. | 
                                        
                                            | INVALID_MEM_YEARS | An invalid value was provided for MEM_YEARS. Valid values are listed in the above API Reference. | 
                                        
                                            | INVALID_MEM_YEARS_OP | An invalid value was provided for MEM_YEARS_OP. Valid values are listed in the above API Reference. | 
                                        
                                            | INVALID_MYEXPATWILL_CANADA | An invalid value was provided for MYEXPATWILL_CANADA. Valid values are listed in the above API Reference. | 
                                        
                                            
                                                | INVALID_MYEXPATWILL_QUEBEC | An invalid value was provided for MYEXPATWILL_QUEBEC. Valid values are listed in the above API Reference. | 
                                        
                                        
                                            | INVALID_MYEXPATWILL_UK | An invalid value was provided for MYEXPATWILL_UK. Valid values are listed in the above API Reference. | 
                                        
                                            | INVALID_MYEXPATWILL_US | An invalid value was provided for MYEXPATWILL_US. Valid values are listed in the above API Reference. | 
                                        
                                            | INVALID_MYFUNERAL | An invalid value was provided for MYFUNERAL. Valid values are listed in the above API Reference. | 
                                        
                                            | INVALID_MYLIFELOCKER | An invalid value was provided for MYLIFELOCKER. Valid values are listed in the above API Reference. | 
                                        
                                            | INVALID_MYLIVINGWILL | An invalid value was provided for MYLIVINGWILL. Valid values are listed in the above API Reference. | 
                                        
                                            | INVALID_MYPOWEROFATTORNEY | An invalid value was provided for MYPOWEROFATTORNEY. Valid values are listed in the above API Reference. | 
                                        
                                            | INVALID_MYWILL | An invalid value was provided for MYWILL. Valid values are listed in the above API Reference. | 
                                        
                                            | INVALID_PREFIX | An invalid value was provided for PREFIX. Either you are not permitted to use this API command, or the given value does not match any of your assigned prefixes. | 
                                        
                                            | INVALID_SERVICE_NAME | An invalid value was provided for SERVICE_NAME. Valid values are listed in the above API Reference. | 
                                        
                                            | INVALID_STATEPROV | An invalid value was provided for STATEPROV. Valid values are listed in the above API Reference. | 
                                        
                                            | INVALID_TEST_USER | An invalid value was provided for TEST_USER. Valid values are listed in the above API Reference. | 
                                        
                                            | IS_LIFETIME | The given user currently has a Lifetime membership, so the operation could not be performed. | 
                                        
                                            | IS_NOT_LIFETIME | The given user does not have a Lifetime membership, so the operation could not be performed. | 
                                        
                                            | MEM_EXPIRED | The membership for the given USERIDhas expired.
                                                A user with an expired membership will still be able to access all of their services. The only impact is that
                                                if they previously paid for a service, they will only be able to view the first page of the document. They will need
                                                to extend their membershipMEM_YEARSbefore they can resume viewing/downloading the entire document. | 
                                        
                                            | MISSING_COUNTRY | No COUNTRYvalue was provided. This name-value pair is required for the givenCMD. | 
                                        
                                            | MISSING_EMAIL | No EMAILvalue was provided. This name-value pair is required for the givenCMD. | 
                                        
                                            | MISSING_FIRST_NAME | No FIRST_NAMEvalue was provided. This name-value pair is required for the givenCMD. | 
                                        
                                            | MISSING_LAST_NAME | No LAST_NAMEvalue was provided. This name-value pair is required for the givenCMD. | 
                                        
                                            | MISSING_PASSWORD | No PASSWORDvalue was provided. This name-value pair is required for the givenCMD. | 
                                        
                                            | MISSING_PREFIX | No PREFIXvalue was provided. This name-value pair is required for the givenCMD. | 
                                        
                                            | MISSING_REFCODE | No REFCODEvalue was provided. This name-value pair is required for the givenCMD. | 
                                        
                                            | MISSING_SERVICE_NAME | No SERVICE_NAMEvalue was provided. This name-value pair is required for the givenCMD. | 
                                        
                                            | MISSING_USERID | No USERIDvalue was provided. This name-value pair is required for the givenCMD. | 
                                        
                                            | NO_SUCH_REFCODE | The given REFCODEdoes not exist in our database, or does not belong to your affiliate account. | 
                                        
                                            | NO_SUCH_USERID | The given USERIDdoes not exist in our database.
                                                Also, when using thelogin,validate_login, orlogoutcommands,
                                                make sure theUSERIDvalue is not sent in plain text. It must
                                                be encrypted using theencryptAPI command. | 
                                        
                                            | SUSPENDED_USERID | Login was attempted by a suspended USERID. A UserID might be suspended by the administrators
                                                of
                                                ExpatLegalWills.com
                                                for security or billing reasons.
                                                Please send an email to
                                                [email protected]
                                                if you believe this to be in error. | 
                                        
                                            | TOO_FEW_YEARS | The operation would result in the given user having a membership length of less than 1 year. Operation aborted. | 
                                        
                                            | TOO_MANY_YEARS | The operation would result in the given user having a membership length of more than 999 years. Operation aborted. |