You don't need to be a member to try our services. Just click on "START YOUR
WILL" or a "TRY IT NOW" link
on our home page.
But you do need to create an account if you want to purchase or continue to work on your documents.
They don't have to be completed all in one sitting.

Canada's #1 provider of online Wills, Power of Attorney, and Living Wills

White Label API

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 web site 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 web site 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 web site, 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 web site 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_user API command to create a new user account in our database.

If this is not a new user, then you should send a validate_login API 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 web site.

An embedded frame or web browser is launched by you, which sends a login API command and takes the
user to the following URL using POST:
https://www.legalwills.ca/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 web site, 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 web site, 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 web site, 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 web site 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_user API command to enable
these services within their account. Note that this can also be done within the create_user API 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 login API 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 the create_user API 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 web site. 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
LegalWills.ca web site, 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 LegalWills.ca 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 LegalWills.ca 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.

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://www.legalwills.ca/whitelabel using POST,
and specify the login API command. To avoid exposing our https://www.legalwills.ca/
URL to your visitors, we recommend that the POST be sent to an embedded iframe on your web site, instead of to a new web browser window.

Demo Web Site

We have created a fully functional web site 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 web site. 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 web site 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 web site. 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 web site took 1
developer less than 2 weeks of effort.

API Reference

The https://www.legalwills.ca/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.

create_user - Create a new user account

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
LegalWills.ca 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 USERID and PASSWORD used 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 API
USERID and PASSWORD are only used for accessing the user's account within our database, not yours.
The user will never see the White Label API USERID and PASSWORD within 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 USERID and PASSWORD used 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 API
USERID and PASSWORD are only used for accessing the user's account within our database, not yours.
The user will never see the White Label API USERID and PASSWORD within 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 LegalWills.ca 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 LegalWills.ca 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 LegalWills.ca 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,
United Kingdom - England, and United 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.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 Province of "Quebec" and the State of "Louisiana" will be accepted as valid values,
however they are 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 and F. 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", "his" or "hers").
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: Y and N. The default is N. These values are case-insensitive.

Y indicates that the user has paid you for this service, so we will enable the service within their account.

N indicates 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: Y and N. The default is N. These values are case-insensitive.

Y indicates that the user has paid you for this service, so we will enable the service within their account.

N indicates 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: Y and N. The default is N. These values are case-insensitive.

Y indicates that the user has paid you for this service, so we will enable the service within their account.

N indicates 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: Y and N. The default is N. These values are case-insensitive.

Y indicates that the user has paid you for this service, so we will enable the service within their account.

N indicates 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: Y and N. The default is N. These values are case-insensitive.

Y indicates that the user has paid you for this service, so we will enable the service within their account.

N indicates 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: Y and N. The default is N. These values are case-insensitive.

Y indicates that the user has paid you for this service, so we will enable the service within their account.

N indicates 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: Y and N. The default is N. These values are case-insensitive.

Y indicates that the user has paid you for this service, so we will enable the service within their account.

N indicates 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:

1, 5, 10, or 25 =
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).

If this name-value pair is omitted, then the default is 1 year.
(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 MEM_YEARS before 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: Y and N.
These values are case-insensitive. If this name-value pair is omitted, then the default is N.
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.

modify_user - Modify an existing user account

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
LegalWills.ca 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 LegalWills.ca 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 LegalWills.ca 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 LegalWills.ca 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,
United Kingdom - England, and United 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.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 Province of "Quebec" and the State of "Louisiana" will be accepted as valid values,
however they are 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 and F. 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", "his" or "hers").
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: Y and N. These values are case-insensitive.

Y lets 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.

N lets 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.

If this name-value pair is omitted, then the value we have stored in our database will not be changed.

MYPOWEROFATTORNEY

(Optional)
Has the user paid you for the "MyPowerOfAttorney" service (Power of Attorney)?
Valid values are: Y and N. These values are case-insensitive.

Y lets 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.

N lets 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.

If this name-value pair is omitted, then the value we have stored in our database will not be changed.

MYLIVINGWILL

(Optional)
Has the user paid you for the "MyLivingWill" service (Living Will / Power of Attorney for Health Care)?
Valid values are: Y and N. These values are case-insensitive.

Y lets 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.

N lets 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.

If this name-value pair is omitted, then the value we have stored in our database will not be changed.

MYEXPATWILL_CANADA

(Optional)
Has the user paid you for the "MyExpatWill (Canada)" service (Expatriate Will for Assets Held in Canada)?
Valid values are: Y and N. These values are case-insensitive.

Y lets 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.

N lets 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.

If this name-value pair is omitted, then the value we have stored in our database will not be changed.

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: Y and N. These values are case-insensitive.

Y lets 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.

N lets 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.

If this name-value pair is omitted, then the value we have stored in our database will not be changed.

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: Y and N. These values are case-insensitive.

Y lets 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.

N lets 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.

If this name-value pair is omitted, then the value we have stored in our database will not be changed.

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: Y and N. These values are case-insensitive.

Y lets 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.

N lets 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.

If this name-value pair is omitted, then the value we have stored in our database will not be changed.

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_OP field.
Note that a user's membership length is independent of what actual services have been paid for, if any.
Valid values are integers:

1, 5, 10, or 25 =
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).

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 MEM_YEARS before they can resume viewing/downloading the entire document.)

MEM_YEARS_OP

(Optional)
Specifies whether the value in the MEM_YEARS field should be
ADDED or REMOVED from the given user's membership account.
Valid values are: add and remove. These values are case-insensitive.

add indicates that MEM_YEARS years should be ADDED to the user's current membership length.
If MEM_YEARS=-1, then their membership length will be set to -1 (Lifetime membership).

remove indicates that MEM_YEARS years should be REMOVED from the user's current membership length.
If MEM_YEARS=-1, then their membership length will be set to 1 year.

If this name-value pair is omitted, then the default is 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.

query_if_expired - Check if an account has expired

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 given USERID has 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 membership MEM_YEARS before 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_user API command.

validate_login - Check if the given values will result in a login error

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 web site.

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 a login command.
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.

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 wanting to access the specified legal document creation service. This UserID must
already exist in our database, by previously sending a create_user API 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 USERID
and PASSWORD combination is correct.

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_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

login - Log in a user

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 web site.

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.

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 wanting to access the specified legal document creation service. This UserID must
already exist in our database, by previously sending a create_user API command.
This UserID will be used along with the supplied PASSWORD to log them in.

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.

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_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

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_LINE1 value was longer than 128 characters in length.

BAD_ADDRESS_LINE2

The given ADDRESS_LINE2 value was longer than 128 characters in length.

BAD_CITY

The given CITY value was longer than 64 characters in length.

BAD_COUNTRY

The given COUNTRY value was longer than 64 characters in length.

BAD_EMAIL

The given EMAIL value was not between 1 and 64 characters in length.

BAD_FIRST_NAME

The given FIRST_NAME value was not between 1 and 64 characters in length.

BAD_LAST_NAME

The given LAST_NAME value was not between 1 and 64 characters in length.

BAD_PASSWORD

The given PASSWORD value was not between 5 and 64 characters in length.

BAD_POSTALCODE

The given POSTALCODE value was longer than 32 characters in length.

BAD_STATEPROV

The given STATEPROV value was longer than 64 characters in length.

BAD_USERID

The given USERID value was not between 5 and 50 characters in length, or does not contain
only letters, numbers and underscore characters.

BANNED_IP

Login was attempted from a banned IP address. An IP address might be banned by the administrators
of LegalWills.ca for security reasons.
Please send an email to support@legalwills.ca
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 LegalWills.ca for security reasons.
Please send an email to support@legalwills.ca
if you believe this to be in error.

DUPLICATE_USER

The given combination of FIRST_NAME, LAST_NAME and EMAIL already
exists in the database, under a different USERID. This combination must be unique for all users.
If this was a create_user command, then a new account could not be created.
If this was a modify_user command, then the existing account was not modified.

EXISTING_USERID

The given USERID already 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_ID and AFFILIATE_SIGNATURE combination 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 USERID and PASSWORD combination was not valid. No such account exists.

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_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_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_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 USERID has 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 membership MEM_YEARS before they can resume viewing/downloading the entire document.

MISSING_COUNTRY

No COUNTRY value was provided. This name-value pair is required for the given CMD.

MISSING_EMAIL

No EMAIL value was provided. This name-value pair is required for the given CMD.

MISSING_FIRST_NAME

No FIRST_NAME value was provided. This name-value pair is required for the given CMD.

MISSING_LAST_NAME

No LAST_NAME value was provided. This name-value pair is required for the given CMD.

MISSING_PASSWORD

No PASSWORD value was provided. This name-value pair is required for the given CMD.

MISSING_SERVICE_NAME

No SERVICE_NAME value was provided. This name-value pair is required for the given CMD.

MISSING_USERID

No USERID value was provided. This name-value pair is required for the given CMD.

NO_SUCH_USERID

The given USERID does not exist in our database.

SUSPENDED_USERID

Login was attempted by a suspended USERID. A UserID might be suspended by the administrators
of LegalWills.ca for security or billing reasons.
Please send an email to support@legalwills.ca
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.