API Version: 2.0 Deprecated

This page is for developers who are still using API V2. For everyone else please refer to the newest version of Smartwaiver's API.

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

  • 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/v2/?rest_request=APIKEY
    Request will return all (up to 100) 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 100 participants. Participants are listed by descending order based on the creation date.

    If there are more than 100 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 100.
    rest_offset Skip the first [value] results and then return the next 100.


    Example: https://www.smartwaiver.com/api/v2/?rest_request=APIKEY&rest_limit=20&rest_offset=100
    Request will return records 101 to 120.


    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_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/v2/?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/v2/?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/v2/?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/v2/?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/v2/?rest_request=APIKEY&rest_excludependingwaivers


    Combining Queries
    Combine as many queries as you wish.

    Example: https://www.smartwaiver.com/api/v2/?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>
        <waiver_id>4faacff060823</waiver_id>
        <firstname>mark</firstname>
        <middlename/>
        <lastname>silliman</lastname>
        <dob>
          <yyyymmdd>19840128</yyyymmdd>
          <us_format>01/28/1984</us_format>
        </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>
        <participant_phone>2103160941</participant_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 which identifies the participant's waiver. This will always be unique to this document.
    participant_id A unique ID which identifies the individual participant.
    firstname Participant's first name
    middlename Participant's middle name
    lastname Participant's last name
    yyyymmdd Date of birth YYYYMMDD
    us_format Date of birth MM/DD/YYYY
    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/v2/?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
    participant_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.
    parentofminor_firstname Parent or guardian's first name
    parentofminor_middlename Parent or guardian's middle name
    parentofminor_lastname Parent or guardian's last name
    parentofminor_phone Parent or guardian's phone number
    waiver_type_guid The unique identifier of the waiver type. This can be compared to Waiver Type API calls.
    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".



    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