RunSignUp

RunSignUp API Documentation

Create or Edit Race

Create a simple race. The race must have a name, URL string, city, and country/state. The URL string is a custom string that will be used in the URL for the race. An error code of 216 will be returned in the error details if this is not unique. You must specify at least one event for the race. Refer to the Datatypes for details on the date format and possible values for event_type.

The partner_id field can be used to indicate the partner for the race. If used, this MUST match the partner id associated with the signature. You can only set the partner when creating a race. Setting the partner for an update will be ignored.

You need to specify the timezone the race is in with the timezone field. A list of acceptable timezones can be found at http://php.net/manual/en/timezones.php. If not specified on a new race, 'America/New_York' is used. The event start and end times are in the timezone of the race.

Editing a Race

To edit a race, send the race ID in the race_id parameter. When editing races, you should NOT send in the url_string field (it will not be changed). You should include the event_id field for any events you wish to update. If you want to add an event, you should leave the event_id field empty. If you only send new events, a race renewal will be assumed. The events of a renewed race must be after any other events for the race and there must not be any current events. If you wish to create past events, set allow_past_event_creation to T and send events with the event_id field empty. To edit past events, you must set allow_past_event_creation to T and race_event_days_id. If race_event_days_id is empty, the most recent events are assumed.

New Race Examples

Below is an example JSON request.

{
	"name": "Race Name",
	"partner_id": null,
	"url_string": "MyRaceUrl",
	"draft_race": "F",
	"address": {
		"street": "300 Mill St.",
		"city": "Moorestown",
		"state": "NJ",
		"country_code": "US",
		"zipcode": "08057"
	},
	"contact_email": "example@example.com",
	"timezone": "America/New_York",
	"events": [
		{
			"name": "8K",
			"start_time": "2014-06-07 08:30:00",
			"event_type": "running_race",
			"distance": 8,
			"distance_units": "K",
			"age_calc_base_date": null
		},
		{
			"name": "Half Marathon",
			"start_time": "2014-06-07 08:30:00",
			"event_type": "running_race",
			"distance": 26.2,
			"distance_units": "M",
			"age_calc_base_date": "2014-12-31"
		}
	]
}

Below is an example XML request.

<?xml version="1.0" encoding="utf-8" ?>
<request>
	<name>Race Name</name>
	<partner_id></partner_id>
	<url_string>MyRaceUrl</url_string>
	<draft_race>F</draft_race>
	<address>
		<street>300 Mill St.</street>
		<city>Moorestown</city>
		<state>NJ</state>
		<country_code>US</country_code>
		<zipcode>08057</zipcode>
	</address>
	<contact_email>example@example.com</contact_email>
	<timezone>America/New_York</timezone>
	<events>
		<event>
			<name>8K</name>
			<start_time>2014-06-07 08:30:00</start_time>
			<event_type>running_race</event_type>
			<distance>8</distance>
			<distance_units>K</distance_units>
			<age_calc_base_date></age_calc_base_date>
		</event>
		<event>
			<name>Half Marathon</name>
			<start_time>2014-06-07 08:30:00</start_time>
			<event_type>running_race</event_type>
			<distance>26.2</distance>
			<distance_units>M</distance_units>
			<age_calc_base_date>2014-12-31</age_calc_base_date>
		</event>
	</events>
</request>

Edit Race Examples

Below is an example JSON request.

{
	"name": "Race Name",
	"partner_id": null,
	"draft_race": "F",
	"address": {
		"street": "300 Mill St.",
		"city": "Moorestown",
		"state": "NJ",
		"country_code": "US",
		"zipcode": "08057"
	},
	"contact_email": "example@example.com",
	"timezone": "America/New_York",
	"allow_past_event_creation": "F",
	"race_event_days_id": null,
	"events": [
		{
			"event_id": 123,
			"name": "8K",
			"start_time": "2014-06-07 08:30:00",
			"event_type": "running_race",
			"distance": 8,
			"distance_units": "K",
			"age_calc_base_date": null
		},
		{
			"event_id": 124,
			"name": "Half Marathon",
			"start_time": "2014-06-07 08:30:00",
			"event_type": "running_race",
			"distance": 26.2,
			"distance_units": "M",
			"age_calc_base_date": "2014-12-31"
		}
	]
}

Below is an example XML request.

<?xml version="1.0" encoding="utf-8" ?>
<request>
	<partner_id></partner_id>
	<name>Race Name</name>
	<draft_race>F</draft_race>
	<address>
		<street>300 Mill St.</street>
		<city>Moorestown</city>
		<state>NJ</state>
		<country_code>US</country_code>
		<zipcode>08057</zipcode>
	</address>
	<contact_email>example@example.com</contact_email>
	<timezone>America/New_York</timezone>
	<allow_past_event_creation>F</allow_past_event_creation>,
	<race_event_days_id></race_event_days_id>
	<events>
		<event>
			<event_id>123</event_id>
			<name>8K</name>
			<start_time>2014-06-07 08:30:00</start_time>
			<event_type>running_race</event_type>
			<distance>8</distance>
			<distance_units>K</distance_units>
			<age_calc_base_date></age_calc_base_date>
		</event>
		<event>
			<event_id>124</event_id>
			<name>Half Marathon</name>
			<start_time>2014-06-07 08:30:00</start_time>
			<event_type>running_race</event_type>
			<distance>26.2</distance>
			<distance_units>M</distance_units>
			<age_calc_base_date>2014-12-31</age_calc_base_date>
		</event>
	</events>
</request>

URL

https://runsignup.com/rest/race

HTTP Method

POST

Standard Parameters

Parameter HTTP Method Default Description Datatype
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
protected_api_signature
Required
GET Signature to use a protected API. More information… string

Parameters

Parameter HTTP Method Default Description Datatype
request_format POST xml Format of request. format
race_id POST Id of race, if editing. uint
request
Required
POST Request in proper format. string

Try It Now!

E-Mail
From Our Blog:
Jun 22nd, 2018
Sales Tax & Your Race

Yesterday the US Supreme Court struck down a 1992 landmark decision (Quill Corporation vs. North Dakota) that had previously barred states from seeking sales tax from businesses unless they have a physical presence in the state. The 1992 decision had allowed online ecommerce businesses to thrive by not having to comply with the myriad and... Continue Reading →

Jun 22nd, 2018
2018 Symposium: Last Call!

With a little less than a month to the Opening Reception, we’re closing in on a sellout for the 2018 Symposium. If you’re still on the fence (or simply procrastinating), the time to register is now! Our Symposium is designed for race directors, timers, and race management/race series companies, with a variety of sessions for... Continue Reading →