Integrate Smartwaiver with your CMS, local database, and more. All participant information that was submitted by your customer is accessible (e.g: Full Name, Date of Birth, Custom Questions etc). All PDF files are accessible as well.
Not a Nerd?
APIs are intended for programmers only. If you have little or no programming experience, feel free to use one of our tools below:
There’s a special place in our collective heart for programmers that take the time to integrate Smartwaiver into their products. Please feel free to
This is similar to a REST API, which works with:
...and all other languages that can do HTTP requests.
How Do I use the API to...
Waiver Types API documentation page This is useful if you need to get a list of waiver types for your account
Waiver Check-In API documentation page View participants that have been checked-in.
To find your API key, login to your Smartwaiver account then go to:
Replace every occurrence of "APIKEY" found in this manual with the API Key found in the above link.
Request will return all (up to 20) participants.
The Smartwaiver API will return XML data for every participant. It’s possible for a waiver to have multiple participants
. You can compare the participant's "waiver_id" (discussed below) to know if participants are listed on the same waiver.
The Smartwaiver API will never return more than 20 participants. Participants are listed by descending order based on the creation date.
If there are more than 20 records the XML response will include:
||Change the maximum number of participants returned. E.g. if set to 10 it'll return 10 participants (instead of the default). This value must be smaller than 20.
||Skip the first [value] results and then return the next 10.
Request will return records 101 to 110.
||Only return participants created in the past [value] hours.
||Only return participants accepted in the past [value] hours.
||Only return participants created after [value] UTC date. Date must be in one of the following formats: YYYY-MM-DD or YYYY-MM-DD HH:MM:SS
||Only return participants accepted after [value] UTC date. Date must be in one of the following formats: YYYY-MM-DD or YYYY-MM-DD HH:MM:SS
||Only return participants with the specified waiver_id. This may be more than one participant if the waiver contains multiple participants.
||Only return the participant with the specified participant_id.
||Only return participants created after the specified waiver_id. Typically you'll want to use this in conjunction with rest_asc (below).
||By default the newest waiver is shown first. If you add rest_asc the oldest will be shown first.
Request will return all participants created in the past 24 hours.
||Only return participants with [value] as the last name.
Request will return all participants with the last name: silliman.
||Only return participants with [value] as the date of birth. The [value] must be in the format: YYYYMMDD. Tip: If month or day are less than 10 you must add a 0 in front. i.e. 198211 should be 19820101
Request will return all participants with the date of birth 01/01/1982.
||Only return participants with [value] as the tag.
Request will return all participants with the tag 123.
||By default participants that are pending email validation are returned via the API. Including this will exclude participants pending email validation.
Combine as many queries as you wish.
Request will return all participants with the last name, silliman, and date of birth 01/01/1982.
All results are returned as XML. Example:
<title>What team are you on?</title>
<waiver_title>Demo Tour 4</waiver_title>
Mozilla/5.0 (Windows NT 6.0; WOW64) AppleWebKit/535.19 (KHTML, like Gecko)
||A unique ID that identifies the participant's waiver. This will always be unique to this document.
||A unique ID that identifies the individual participant.
||Participant's first name
||Participant's middle name
||Participant's last name
||Date of birth in ISO8601 format
||UTC time stamp when the waiver was created
||UTC time stamp when the waiver was accepted
||To view the waiver point a browser to (note that you need to replace both APIKEY and VALUE_OF_PDF_URL): https://smartwaiver.com/api/v3/?rest_request=APIKEY&restapi_viewpdf=VALUE_OF_PDF_URL
||Is the document pending email validation? (If true, the participant completed their waiver online and has not clicked on the confirmation link in their email).
||Title of the document they completed
||Participant's user agent
||IP address that the participant completed the waiver at
||Did the customer opt-in to your maillist? This will be true,false or "not asked". "not asked" means that the waiver asked for their email but did not ask permission to send them marketing email. False means that the customer opted out. True means that the customer opted in.
||The unique identifier of the waiver type. This can be compared to Waiver Type API calls.
||How many photographs were taken using auto photo capture.
Custom fields are added in sets of three keys (title, value & guid). The reason why the title is not the key for the value is that the titles can be changed at any time meaning that if we did this custom question's value couldn't be compared. Therefore we use a static unique id for each customfield.
||Value of the custom field
||Title of the custom field
||ISO8601 is only included for date fields. Example: If value is set to "January 2, 2013" value_iso8601 would be "2013-01-02".
You can download any waiver's PDF using the Smartwaiver API. Select a language below for example code.
Instructions for using Webhooks