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:

Welcome Nerds!
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

Getting Started
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... Related Features
  • 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.
  • Auto-Fill – Auto-Fill allows you to pass values so that you can pre-populate fields on a waiver.
    API Key
    To find your API key, login to your Smartwaiver account then go to: https://www.smartwaiver.com/m/rest/

    Replace every occurrence of "APIKEY" found in this manual with the API Key found in the above link.


    First Request
    https://www.smartwaiver.com/api/v3/?rest_request=APIKEY
    Request will return all (up to 20) participants.


    Participants vs Waivers
    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.


    Limits
    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:
    <more_records_exist>true</more_records_exist>

    rest_limit 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.
    rest_offset Skip the first [value] results and then return the next 10.


    Example: https://www.smartwaiver.com/api/v3/?rest_request=APIKEY&rest_limit=10&rest_offset=100
    Request will return records 101 to 110.


    Query Options
    rest_request_hours Only return participants created in the past [value] hours.
    rest_accepted_hours Only return participants accepted in the past [value] hours.
    rest_request_utc 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
    rest_request_accepted_utc 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
    rest_waiverid Only return participants with the specified waiver_id. This may be more than one participant if the waiver contains multiple participants.
    rest_participant_id Only return the participant with the specified participant_id.
    rest_since_waiverid Only return participants created after the specified waiver_id. Typically you'll want to use this in conjunction with rest_asc (below).
    rest_asc By default the newest waiver is shown first. If you add rest_asc the oldest will be shown first.


    Example: https://www.smartwaiver.com/api/v3/?rest_request=APIKEY&rest_request_hours=24
    Request will return all participants created in the past 24 hours.

    rest_request_lastname Only return participants with [value] as the last name.


    Example: https://www.smartwaiver.com/api/v3/?rest_request=APIKEY&rest_request_lastname=silliman
    Request will return all participants with the last name: silliman.

    rest_request_dob 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


    Example: https://www.smartwaiver.com/api/v3/?rest_request=APIKEY&rest_request_dob=19820101
    Request will return all participants with the date of birth 01/01/1982.

    rest_request_tag Only return participants with [value] as the tag.


    Example: https://www.smartwaiver.com/api/v3/?rest_request=APIKEY&rest_request_tag=123
    Request will return all participants with the tag 123.

    rest_excludependingwaivers By default participants that are pending email validation are returned via the API. Including this will exclude participants pending email validation.


    Example: https://www.smartwaiver.com/api/v3/?rest_request=APIKEY&rest_excludependingwaivers


    Combining Queries
    Combine as many queries as you wish.

    Example: https://www.smartwaiver.com/api/v3/?rest_request=APIKEY&rest_request_lastname=silliman&rest_request_dob=19820101
    Request will return all participants with the last name, silliman, and date of birth 01/01/1982.


    Results
    All results are returned as XML. Example:
    <xml>
    <participants>
      <participant>
        <participant_id>23239038432</participant_id>
        <waiver_id>4faacff060823</waiver_id>
        <firstname>mark</firstname>
        <middlename/>
        <lastname>silliman</lastname>
        <dob>1982-10-02</dob>
        <date_created_utc>2012-05-09 15:13:36</date_created_utc>
        <pdf_url>NTA4YjIxMjA5NDUyYXx8fGEyYWM4OWRhMjlhOGE2NjZiN2I1MmY5MTliMmFujysdy7HUDS</pdf_url>
        <tags>
          <tag>123</tag>
          <tag>234</tag>
        </tags>
        <customfields>
          <customfield>
            <guid>5gadcff060113</guid>
            <title>What team are you on?</title>
            <value>Elks</value>
          </customfield>
        </customfields>
        <phone>2103160941</phone>
        <participant_month>1</participant_month>
        <participant_day>4</participant_day>
        <participant_year>1984</participant_year>
        <primary_email>mark@nospamplease.com</primary_email>
        <waiver_title>Demo Tour 4</waiver_title>
        <web_browsers_user_agent>
    Mozilla/5.0 (Windows NT 6.0; WOW64) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.168 Safari/535.19     </web_browsers_user_agent>
        <completed_from_ip_address>208.100.173.34</completed_from_ip_address>
        <marketingallowed>true</marketingallowed>
      </participant>
    </participants>
    </xml>


    waiver_id A unique ID that identifies the participant's waiver. This will always be unique to this document.
    participant_id A unique ID that identifies the individual participant.
    firstname Participant's first name
    middlename Participant's middle name
    lastname Participant's last name
    dob Date of birth in ISO8601 format
    date_created_utc UTC time stamp when the waiver was created
    date_accepted_utc UTC time stamp when the waiver was accepted
    pdf_url 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
    pending_email_validation 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).
    waiver_title Title of the document they completed
    phone Phone number
    primary_email Email address
    web_browsers_user_agent Participant's user agent
    completed_from_ip_address IP address that the participant completed the waiver at
    marketingallowed 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.
    waiver_type_guid The unique identifier of the waiver type. This can be compared to Waiver Type API calls.
    completed_at_kiosk If this is true the waiver was completed at a kiosk (at your facility). If this is false the waiver was completed online (e.g. at the participant's home before visiting).
    how_many_auto_photo_capture_photographs_captured How many photographs were taken using auto photo capture.



    Results for Custom Fields
    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.

    guid Unique ID
    value Value of the custom field
    title Title of the custom field
    value_iso8601 ISO8601 is only included for date fields. Example: If value is set to "January 2, 2013" value_iso8601 would be "2013-01-02".



    Results for Images
    There are two ways to capture images with Smartwaiver:

    Auto Photo Capture - automatically takes photos of the participant signing the waiver. These photos will be added to the signed PDF copy of the waiver.

    Photo Attach - allows staff members to take photos of a participant or ID after the waiver has been signed and submitted. These photos are not added to the signed PDF copy of the waiver.

    Important: Images are associated at the waiver level (as opposed to the participant level). So if the waiver includes multiple participants (i.e., Minors and Adults) the photos will most likely be of of the signing adult and not the minor.

    You can identify the type of photo by comparing the <source>.

    Auto Photo Capture photos will be assigned a <source> of autophotocapture.
    Photo Attach photos will be assigned a <source> of photoattach.

    <date_utc> is a UTC timestamp for when the photo was captured.

    <img_url> is a private value that allows you to download the images to your local server. https://www.smartwaiver.com/api/v3/?rest_request=APIKEY&rest_download_image=VALUE_OF_IMG_URL
    The above API call will return the image in the format specified in <file_ext> (typically jpg).

    Security Tip: Never stream images on your site using the API! This will open your API key to the public. Instead, save a local copy.

    <tag> gives information regarding why the photo was captured or the IP that attached it.




    Results for Check-ins
    For a list of when a participant checked-in reference the participant's <checkins>. What are Check-ins?

    <checkins> can contain any number of <checkin> each which specify:
    <checkin_id> A unique identifier for this check-in.
    <checkin_utc> UTC time stamp when the check-in occurred.


    Releated API Documentation

    Waiver Check-In API documentation page – View participants that have been checked-in.


    Downloading Waiver's PDF Files
    You can download any waiver's PDF using the Smartwaiver API. Select a language below for example code.


    Webhooks
    Instructions for using Webhooks
    Deprecated Versions of the API
  • Hi I'm Chelsea. How can I help?