1. RunSignup
  2. API
  3. Methods
  4. Add or Edit Race Participants

Add or Edit Race Participants

Add or edits participants for a specific event in a race. To edit a participant, send the registration_id with the registration. Note that in "Safe Sync" mode, user information is not editable for users with RunSignup accounts and an error will be returned. You can however, update non-personal information such as bib and chip numbers, etc.

You can edit registrations that are no longer active in the race (e.g. refunds, transfers, deferrals, etc.). However, some settings such as team, bib, and chip will be silently ignored.

Any personal user information field in a JSON request that is not sent will remain the same while fields sent, but set to null, will be cleared. If you need to clear the date of birth of a participant, you can also enter "XXXX-XX-XX" in the dob field (case-sensitive). You can NOT update the email address for participants with accounts for security reasons. Attempts to update emails may be silently ignored.

You can update a giveaway by sending the text of the giveaway option. This must match the available giveaways exactly or an error will be returned.

You can set or remove a group/team with the team_id field for each participant. This will validate gender and age requirements, but will override any group size requirements. To remove a group/team, set team_id to an empty string (of null for JSON). If you are not editing the group/team, you should not have the team_id in the request. You should check for and handle error codes 514 and 515 for each participant.

You can set or update question responses when using the JSON or XML format. Refer to the examples below for the request format. The response format depends on the question type. If a question has predefined responses, you will need to use the response ID. In JSON, multiple response questions use the response_ids field while XML uses multiple response_id tags. For other types of questions, the response field is used. You should check for and handle error codes 506 and 507 for each participant.

You can set or update participant memberships when using the JSON or XML format. Refer to the examples below for the request format. Each membership must have an addon_id field. If there are no add-on options, you should specify a quantity for the overall add-on. If there are add-on options, you should specify a quantity for each options and the overall quantity will be ignored. You should check for and handle error codes 508 and 509 for each participant.

You can set or update registration add-ons when using the JSON or XML format. Refer to the examples below for the request format. Each membership must have an is_member field of either "T" or "F". If "T", you can set an additional_field_value field. If "F", you can set a nonmember_additional_field_value field for USAT specific memberships. You should check for and handle error codes 512 and 513 for each participant.

A participant’s registration timestamp (registration_ts) will only be applied when adding a new participant. If a registration timestamp is included in the request when attempting to edit a participant, it will result in an error.

Request Format


{
	"participants": [
		{
			"registration_id": 1454457,
			"user": {
				"first_name": "Dolores",
				"last_name": "Nguyen",
				"email": "dolores.nguyen@example.com",
				"address": {
					"street": "1899 Saddle Dr",
					"city": "Moorestown",
					"state": "NJ",
					"zipcode": "08057",
					"country_code": "US"
				},
				"dob": "1981-06-25",
				"gender": "F",
				"phone": "856-655-7878"
			},
			"age": 40,
			"registration_ts": 1728408890,
			"bib_num": 1013,
			"chip_num": "Chip1013",
			"giveaway": "Medium",
			"team_id": null,
			"question_responses": [
				{
					"question_id": 1927,
					"response": "Johnny Blaze"
				},
				{
					"question_id": 1928,
					"response": "555-555-5555"
				},
				{
					"question_id": 1929,
					"response_id": 1234
				},
				{
					"question_id": 1930,
					"response_ids": [4321,4322]
				}
			],
			"participant_memberships": [
				{
					"membership_setting_id": 583,
					"is_member": "T",
					"additional_field_value": null
				}
			],
			"participant_addons": [
				{
					"addon_id": 1,
					"participant_addon_options": [
						{
							"participant_addon_option_id": 2,
							"quantity": 3
						}
					],
					"participant_addon_custom_fields": [
						{
							"participant_addon_custom_field_id": 3,
							"custom_field_value": "Big Trees"
						}
					]
				},
				{
					"addon_id": 2,
					"quantity": 2
				}
			]
		}
	]
}

The values for the request can be retrieved from the Get Race Participants method. The response will include the registrations ID or IDs for the race participants included in the request.

Response Format


{
	"participants": [
		{
			"registration_id": 1454457
		}
	]
}

URL

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

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
rsu_api_key GET API v2 key. If used, you must send the API secret in an HTTP header named X-RSU-API-SECRET. string
sp_api_key GET Super partner API key. If used, you must send the API secret in an HTTP header named X-RSU-API-SECRET. string
X-RSU-API-SECRET HTTP Header API v2 or super partner secret. string
format GET xml Format of response. The default if not sent is `xml`, but `json` is preferred. format

Parameters

Parameter HTTP Method Default Description Datatype
race_id
Required
POST ID of race. uint
event_id
Required
POST ID of event. uint
restrict_potential_dup
Required
POST F Throw an error on potential duplicate? A potential duplicate is detected by an exact name match and date of birth match (or age if no date of birth) without a "registration_id". The error details will list a potential registration ID match. bool
clear_null_corrals POST F Clear corral assignments for null race_corral_id values? bool
request_format POST xml Format of request. The default if not sent is `xml`, but `json` is preferred. format
request
Required
POST Request in proper format. string

If you continue to use this site, you consent to use all cookies. We use cookies to offer you a better browsing experience. Read how we use cookies and how you can control them by visiting our Privacy Policy.

If you continue to use this site, you consent to use all cookies.