RunSignUp

RunSignUp API Documentation

Setup Race Questions

Call this API method to setup race questions. To edit a question, include the question_id field with the question information. Any existing question not in the request will be deleted unless append_questions is set to "T". The order that the questions appear here will be the order they are displayed to users (with the exception that all overall questions are asked before individual questions). The response includes the question ids in the order defined.

Each question has the following fields:

  • question_id - Question id (A new question will be created if omitted or blank)
  • question_text - Question text
  • question_type_code - Question type code:
    • F: Freeform
    • B: Boolean (T/F)
    • S: Select box list of predefined responses.
    • R: Radio buttons of predefined responses.
    • C: Checkboxes of predefined responses (Allows multiple selection).
    • T: Time input.
    • A: Text box.
  • standard_question_type - Standard question type code:
    • ice_name: Emergency Contact Name
    • ice_phone: Emergency Contact Phone
    • sms_race_updates: Sign up for text message updates from the race.
    Note that standard questions may override certain question settings such as response type.
  • question_validation_type - Freeform questions may have a validation type. This can none, uint, int, float, email, phone, url, date, char_limit, or allowed_values.
  • validation_options - Depending on the validation type, you may need to include information in validation_options as shown in the examples.
  • individual - "T" if this question should be asked for each registrant. "F" if it should be asked once per transaction.
  • ask_in_kiosk - Show this question be asked during kiosk registration? T/F
  • corporate_team_only - Is the question for corporate team setup only? T/F
  • internal_question - Is the question for that participants should not see during registration? T/F
  • visible_to_corporate_team_captain - Should the question response be visible to corporate team captains? T/F
  • team_captains_only - Should the question be visible to group captains only? T/F
  • required - Is the question required? T/F
  • skip_for_event_ids - List of event ids that the question should NOT be asked for
  • responses - Predefined responses if applicable. If editing responses, send the response_id with each response.
  • parent_question_id - Id of parent question, if applicable. The parent question must be a boolean response or have predefined responses.
    • parent_visible_bool_response - If the parent question is a T/F question, the response for the parent question that indicates that this question should be asked.
    • parent_visible_response_ids - If the parent question has possible responses, the response id(s) for the parent question that indicates that this question should be asked.

For JSON requests, the request should look like the example below.

{
	"questions": [
		{
			"question_id": 12345,
			"question_text": "What browser are you using?",
			"question_type_code": "S",
			"individual": "F",
			"required": "F",
			"skip_for_event_ids": [123,124],
			"responses": [
				{
					"response_id": 6000,
					"response": "Chrome"
				},
				{
					"response_id": 6001,
					"response": "Internet Explorer"
				},
				{
					"response_id": 6002,
					"response": "Firefox"
				},
				{
					"response_id": 6003,
					"response": "Safari"
				}
			],
			"more_details": "This can include additional information to explain the question to registrants.",
			"more_details_html": "This can include additional information (formatted in HTML) to explain the question to registrants. This option takes precedent over more_details if both are submitted."
		},
		{
			"question_id": null,
			"question_text": "Where did you go to high school?",
			"question_type_code": "F",
			"individual": "T",
			"required": "F",
			"skip_for_event_ids": [],
			"question_validation_type": "none"
		},
		{
			"question_id": null,
			"question_text": "Emergency Contact Phone Number",
			"question_type_code": "F",
			"question_validation_type": "phone",
			"individual": "T",
			"ask_in_kiosk": "F",
			"corporate_team_only": "F",
			"internal_question": "F",
			"visible_to_corporate_team_captain": "F",
			"team_captains_only": "F",
			"required": "T",
			"skip_for_event_ids": [],
			"parent_question_id": 12345,
			"parent_visible_response_ids": [6001,6002]
		},
		{
			"question_id": null,
			"question_text": "Estimated Finish Time",
			"question_type_code": "T",
			"validation_options": {
				"min_time": "0:05:00",
				"max_time": "6:00:00"
			},
			"individual": "T",
			"ask_in_kiosk": "F",
			"corporate_team_only": "F",
			"internal_question": "F",
			"visible_to_corporate_team_captain": "F",
			"team_captains_only": "F",
			"required": "T",
			"skip_for_event_ids": [],
			"parent_question_id": null
		},
		{
			"question_id": null,
			"question_text": "Name on Bib",
			"question_type_code": "F",
			"question_validation_type": "char_limit",
			"validation_options": {
				"max_chars": 10
			},
			"individual": "T",
			"ask_in_kiosk": "F",
			"corporate_team_only": "F",
			"internal_question": "F",
			"visible_to_corporate_team_captain": "F",
			"team_captains_only": "F",
			"required": "T",
			"skip_for_event_ids": [],
			"parent_question_id": null
		},
		{
			"question_id": null,
			"question_text": "Registration Password",
			"question_type_code": "F",
			"question_validation_type": "allowed_values",
			"validation_options": {
				"allowed_values": ["value1", "value2"]
			},
			"individual": "T",
			"ask_in_kiosk": "F",
			"corporate_team_only": "F",
			"internal_question": "F",
			"visible_to_corporate_team_captain": "F",
			"team_captains_only": "F",
			"required": "T",
			"skip_for_event_ids": [],
			"parent_question_id": null
		}
	]
}

For XML requests, the request should look like the example below.

<questions>
  <question>
    <question_id>12345</question_id>
    <question_text>What browser are you using?</question_text>
    <question_type_code>S</question_type_code>
    <individual>F</individual>
		<ask_in_kiosk>F</ask_in_kiosk>
    <corporate_team_only>F</corporate_team_only>
		<internal_question>F</internal_question>
		<visible_to_corporate_team_captain>F</visible_to_corporate_team_captain>
		<team_captains_only>F</team_captains_only>
    <required>F</required>
    <skip_for_event_ids>
			<event_id>123</event_id>
			<event_id>124</event_id>
		</skip_for_event_ids>
    <responses>
      <response>
        <response_id>6000</response_id>
        <response>Chrome</response>
      </response>
      <response>
        <response_id>6001</response_id>
        <response>Internet Explorer</response>
      </response>
      <response>
        <response_id>6002</response_id>
        <response>Firefox</response>
      </response>
      <response>
        <response_id>6003</response_id>
        <response>Safari</response>
      </response>
    </responses>
    <more_details>This can include additional information to explain the question to registrants.</more_details>
    <more_details_html>This can include additional information (formatted in HTML) to explain the question to registrants. This option takes precedent over more_details if both are submitted.</more_details_html>
  </question>
  <question>
    <question_id></question_id>
    <question_text>Where did you go to high school?</question_text>
    <question_type_code>F</question_type_code>
    <question_validation_type>none</question_validation_type>
    <individual>T</individual>
		<ask_in_kiosk>F</ask_in_kiosk>
    <corporate_team_only>F</corporate_team_only>
		<internal_question>F</internal_question>
		<visible_to_corporate_team_captain>F</visible_to_corporate_team_captain>
		<team_captains_only>F</team_captains_only>
    <required>F</required>
    <skip_for_event_ids></skip_for_event_ids>
		<parent_question_id>12345</parent_question_id>
		<parent_visible_response_ids>
			<parent_visible_response_id>6001</parent_visible_response_id>
			<parent_visible_response_id>6002</parent_visible_response_id>
		</parent_visible_response_ids>
  </question>
	<question>
    <question_id></question_id>
    <question_text>Emergency Contact Phone Number</question_text>
    <question_type_code>F</question_type_code>
    <question_validation_type>phone</question_validation_type>
    <individual>T</individual>
		<ask_in_kiosk>F</ask_in_kiosk>
    <corporate_team_only>F</corporate_team_only>
		<internal_question>F</internal_question>
		<visible_to_corporate_team_captain>F</visible_to_corporate_team_captain>
		<team_captains_only>F</team_captains_only>
    <required>T</required>
    <skip_for_event_ids></skip_for_event_ids>
  </question>
	<question>
    <question_id></question_id>
    <question_text>Estimated Finish Time</question_text>
    <question_type_code>T</question_type_code>
		<validation_options>
			<min_time>0:05:00</min_time>
			<max_time>6:00:00</max_time>
		</validation_options>
    <individual>T</individual>
		<ask_in_kiosk>F</ask_in_kiosk>
    <corporate_team_only>F</corporate_team_only>
		<internal_question>F</internal_question>
		<visible_to_corporate_team_captain>F</visible_to_corporate_team_captain>
		<team_captains_only>F</team_captains_only>
    <required>T</required>
    <skip_for_event_ids></skip_for_event_ids>
  </question>
	<question>
    <question_id></question_id>
    <question_text>Name on Bib</question_text>
    <question_type_code>F</question_type_code>
		<question_validation_type>char_limit</question_validation_type>
		<validation_options>
			<max_chars>10</max_chars>
		</validation_options>
    <individual>T</individual>
		<ask_in_kiosk>F</ask_in_kiosk>
    <corporate_team_only>F</corporate_team_only>
		<internal_question>F</internal_question>
		<visible_to_corporate_team_captain>F</visible_to_corporate_team_captain>
		<team_captains_only>F</team_captains_only>
    <required>T</required>
    <skip_for_event_ids></skip_for_event_ids>
  </question>
	<question>
    <question_id></question_id>
    <question_text>Registration Password</question_text>
    <question_type_code>F</question_type_code>
		<question_validation_type>allowed_values</question_validation_type>
		<validation_options>
			<allowed_values>
				<allowed_value>value1</allowed_value>
				<allowed_value>value2</allowed_value>
			</allowed_values>
		</validation_options>
    <individual>T</individual>
		<ask_in_kiosk>F</ask_in_kiosk>
    <corporate_team_only>F</corporate_team_only>
		<internal_question>F</internal_question>
		<visible_to_corporate_team_captain>F</visible_to_corporate_team_captain>
		<team_captains_only>F</team_captains_only>
    <required>T</required>
    <skip_for_event_ids></skip_for_event_ids>
  </question>
</questions>

URL

https://runsignup.com/rest/race/:race_id/questions

HTTP Method

POST

Standard Parameters

Parameter HTTP Method Default Description Datatype
api_key GET API Key string
api_secret GET API Secret string
tmp_key GET Temporary API Key from login API call. This should NOT be used in combination with API Key. string
tmp_secret GET Temporary API Secret from login API call. This should NOT be used in combination with API Secret. string
format GET xml Format of response. format

Parameters

Parameter HTTP Method Default Description Datatype
race_id
Required
POST Id of race. uint
append_questions POST F Should the questions be appended to the existing questions? bool
request_format POST xml Format of request. format
request
Required
POST Request in proper format. string

Try It Now!

E-Mail
From Our Blog:
Sep 21st, 2017
The Risks of Declining Registrations

There was a recent article on Bloomberg News suggesting that the next financial crisis could start in Silicon Valley and “Fintech”. Fintech is a broad term, but touches all races who use online registration with the movement of over $1 Billion per year thru the 100 or so race registration systems. Here are some of … Continue reading "The Risks of Declining Registrations"

Sep 21st, 2017
Child Privacy

To protect the data the races who use as as their online registration platform, we have made some updates to your race, event and club websites to better protect the online privacy of children, particularly those under the age of 13. Our updates are designed with the Children’s Online Privacy Protection Rule (“COPPA”) in mind and … Continue reading "Child Privacy"