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.

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",
	"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>,
	<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:
Nov 24th, 2017
2017 Thanksgiving Registration Stats

We are very thankful for all of the race directors, timers, partners, and runners who used RunSignUp yesterday. We are also thankful that our self-serve technology worked so well (and that we didn’t have too many support calls!). At RunSignUp, we always want to share our data on the trends and drivers of registrations to … Continue reading "2017 Thanksgiving Registration Stats"

Nov 22nd, 2017
Charity Payments Bug

We discovered a small bug in our software that has affected races using Braintree Marketplace for payment, who also have Charities setup to get paid directly, where the Charity is paying the processing fee. This affected: 19 races out of the 29,000 races held since this bug was introduced 460 Transactions out of the 5,376,000 … Continue reading "Charity Payments Bug"