Timer API Documentation

This API is used by Race Result, RunScore, Race Day Scoring, and Race Director. Visit Live Race Results for more infomation about how these timing software options can improve your race. For Agee Race Timing and Laurel Timing, please see this API Documentation.

Race Result Logo RunScore Logo RaceDay Scoring Logo Race Director Logo

This API was designed specifically for the Director software to allow certain timers and directors integration into our Race Entry data with the Director.

The Login action must be called first as it returns the key/secret pair that is required for the other endpoints.

All responses are returned in JSON format.

*All test endpoints start with https://demo.raceentry.com/rest

*All production endpoints start with https://www.raceentry.com/rest





GET RACES

This endpoint will return a list of all the races that the logged in user (determined by the key/secret pair) has permission to access. If a start and end date are provided, it will filter the results accordingly. The race_id found in response to this endpoint will be the id needed for all endpoints that include "/race/{id}"

ENDPOINT RESPONSE

GET /races

http://demo.raceentry.com/rest/races?tmp_key=KEY_HASH&tmp_secret=SECRET_HASH&start_date=2026-04-01&end_date=2026-04-30

http://demo.raceentry.com/rest/races?tmp_key=KEY_HASH&tmp_secret=SECRET_HASH

Success:

Response code: 200

{
"races": [
{
"race": {
"race_id": 21,
"name": "City Fun Run",
"last_date": "04/17/2026",
"last_end_date": "04/17/2026",
"next_date": "04/17/2026",
"next_end_date": "04/17/2026",
"is_draft_race": "F",
"is_private_race": "F",
"is_registration_open": "F",
"created": "04/17/2025 15:51",
"last_modified": "04/29/2025 10:09",
"description": "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\" \"http://www.w3.org/TR/REC-html40/loose.dtd\">\n<html><body><p>Fun for the whole family!</p></body></html>\n",
"url": "http://raceentry.com/city-fun-run/race-info",
"external_race_url": null,
"external_results_url": null,
"fb_page_id": null,
"fb_event_id": null,
"address": {
"street": "123 Main St",
"street2": null,
"city": "Provo",
"state": "UT",
"zipcode": "84601",
"country_code": "USA"
},
"timezone": "America/Denver",
"logo_url": "https://cfimages.raceentry.com/test/logo/city-fun-run-registration-logo-21.jpg?v=1745428804",
"can_use_registration_api": "F",
"real_time_notifications_enabled": "F",
"events": [],
"race_event_days": [
{
"race_event_days_id": 21,
"start_date": "04/17/2026",
"end_date": "04/17/2026"
}
]
}
}
]
}

PARTICIPANT DATA

These are the endpoints that will return information about and set certain settings for participants. They will only give information about races that the user (determined by the key/secret pair) has permission to access.

Query Parameters

Parameter Format Value Effect Applies To
tmp_key string Returned from login API call Allows authorized access to API endponts ALL (required)
tmp_secret string Returned from login API call Allows authorized access to API endponts ALL (required)
modified_after_timestamp integer Unix timestamp Only returns participants who were modified after this timestamp. If a timestamp is not provided, the current time will be used. GET /participants (required)
GET /removed_participants (required)

Endpoints

ENDPOINT RESPONSE

GET race/{id}/participants

Returns a list of races and their participants that have been added or modified since the provided modified_after_timestamp.


http://demo.raceentry.com/rest/race/{id}/participants?tmp_key=KEY_HASH&tmp_secret=SECRET_HASH&modified_after_timestamp=1745485200

Success:

Response code: 200

[
{
"event": {
"event_id": 16,
"participants": []
},
"participants": [
{
"user": {
"user_id": 30,
"first_name": "John",
"middle_name": null,
"last_name": "Doe",
"email": "john.doe@example.com",
"address": {
"street": "123 Main St",
"city": "Provo",
"state": "UT",
"zipcode": "84601",
"country_code": "USA"
},
"dob": "1990-05-05",
"gender": "M",
"phone": "5555555555",
"profile_image_url": null
},
"registration_id": 30,
"event_id": 16,
"rsu_transaction_id": null,
"transaction_id": null,
"bib_num": 50004,
"chip_num": 50004,
"age": 35,
"registration_date": "04/24/2025 10:22",
"team_id": null,
"team_name": null,
"team_type_id": null,
"team_type": null,
"team_gender": null,
"team_bib_num": null,
"last_modified": 1745877909,
"imported": "T",
"race_fee": "$0.00",
"offline_payment_amount": "$0.00",
"processing_fee": "$0.00",
"processing_fee_paid_by_user": "$0.00",
"processing_fee_paid_by_race": "$0.00",
"partner_fee": "$0.00",
"affiliate_profit": "$0.00",
"extra_fees": "$0.00",
"amount_paid": "$0.00",
"usatf_discount_amount_in_cents": "$0.00",
"usatf_discount_additional_field": null,
"giveaway": null,
"giveaway_option_id": null,
"race_corral_id": null,
"race_corral_name": null,
"checked_in": "F",
"checkin_date": null,
"checked_in_by_user_id": null
},
{
"user": {
"user_id": 29,
"first_name": "Jane",
"middle_name": null,
"last_name": "Doe",
"email": "jane.doe@example.com",
"address": {
"street": "123 Main St",
"city": "Provo",
"state": "UT",
"zipcode": "84601",
"country_code": "USA"
},
"dob": "2000-04-13",
"gender": "F",
"phone": "5555555555",
"profile_image_url": null
},
"registration_id": 29,
"event_id": 16,
"rsu_transaction_id": null,
"transaction_id": null,
"bib_num": 50003,
"chip_num": 50003,
"age": 25,
"registration_date": "04/24/2025 09:59",
"team_id": null,
"team_name": null,
"team_type_id": null,
"team_type": null,
"team_gender": null,
"team_bib_num": null,
"last_modified": 1745877909,
"imported": "T",
"race_fee": "$0.00",
"offline_payment_amount": "$0.00",
"processing_fee": "$0.00",
"processing_fee_paid_by_user": "$0.00",
"processing_fee_paid_by_race": "$0.00",
"partner_fee": "$0.00",
"affiliate_profit": "$0.00",
"extra_fees": "$0.00",
"amount_paid": "$0.00",
"usatf_discount_amount_in_cents": "$0.00",
"usatf_discount_additional_field": null,
"giveaway": null,
"giveaway_option_id": null,
"race_corral_id": null,
"race_corral_name": null,
"checked_in": "F",
"checkin_date": null,
"checked_in_by_user_id": null
},
]
},
{
"event": {
"event_id": 67,
"participants": []
},
"participants": [
{
"user": {
"user_id": 71,
"first_name": "Bob",
"middle_name": null,
"last_name": "Smith",
"email": "bob.smith@example.com",
"address": {
"street": "456 Main St",
"city": "Orem",
"state": "UT",
"zipcode": "84057",
"country_code": "USA"
},
"dob": "1989-01-01",
"gender": "",
"phone": "5555555555",
"profile_image_url": null
},
"registration_id": 71,
"event_id": 67,
"rsu_transaction_id": null,
"transaction_id": null,
"bib_num": 50007,
"chip_num": 50007,
"age": 36,
"registration_date": "04/11/2025 16:53",
"team_id": null,
"team_name": null,
"team_type_id": null,
"team_type": null,
"team_gender": null,
"team_bib_num": null,
"last_modified": 1757631211,
"imported": "F",
"race_fee": "$0.00",
"offline_payment_amount": "$0.00",
"processing_fee": "$0.00",
"processing_fee_paid_by_user": "$0.00",
"processing_fee_paid_by_race": "$0.00",
"partner_fee": "$0.00",
"affiliate_profit": "$0.00",
"extra_fees": "$0.00",
"amount_paid": "$0.00",
"usatf_discount_amount_in_cents": "$0.00",
"usatf_discount_additional_field": null,
"giveaway": null,
"giveaway_option_id": null,
"race_corral_id": null,
"race_corral_name": null,
"checked_in": "F",
"checkin_date": null,
"checked_in_by_user_id": null
},
]
}
]

POST race/{id}/participants

Used to add or modify participant(s).


http://demo.raceentry.com/rest/race/{id}/participants?tmp_key=KEY_HASH&tmp_secret=SECRET_HASH

Key Type Example Required
request JSON string
{
"participants": [
{
"registration_id": "13",
"user": {
"first_name": "John",
"last_name": "Doe"
"email": "john.doe@example.com"
"address": {
"street": "123 Main",
"city": "Provo",
"state": "UT",
"zip code": 84061,
"country_code": "US"
},
"dob": "1989-04-06"
}
"gender": "M",
"phone": "5552345678"
"team_id": "5",
},
{
"registration_id": "",
"user": {
"first_name": "Jane",
"last_name": "Doe"
}
}
]
}
YES
Field Required Note
registration_id Yes If blank, a new participant will be created. If a value is provided, the existing participant with the provided id will be updated.
user.first_name Yes
user.last_name Yes
user.email No If not provided, the email associated with the logged in user will be used.
user.address No
user.dob No Format: YYYY-MM-DD
user.gender No
user.phone No
user.team_id No
event_id integer 137 YES

Success:

Response code: 200

{
"participants": [
{
"registration_id": "73"
},
{
"registration_id": "74"
}
]
}

POST race/{id}/switch_participant_events

Used to switch participant(s) from one event to another


http://demo.raceentry.com/rest/race/{id}/switch_participant_events?tmp_key=KEY_HASH&tmp_secret=SECRET_HASH

Key Type Example Required
request JSON string
{
"registrations": [
{
"registration_id": 72,
"new_event_id": 16
},
{
"registration_id": 76,
"new_event_id": 16
}
]
}
YES
Field Required
registration_id Yes
new_event_id Yes

Success:

Response code: 200

{
"participants": [
{
"registration_id": 72
},
{
"registration_id": 76
}
]
}

POST race/{id}/delete_participants

Used to delete participant(s).


http://demo.raceentry.com/rest/race/{id}/delete_participants?tmp_key=KEY_HASH&tmp_secret=SECRET_HASH

Key Type Example Required
request JSON string
{
"registrations": [
{
"registration_id": 25
},
{
"registration_id": 26
}
]
}
YES

Success:

Response code: 200

{
"participants": [
{
"registration_id": 25
},
{
"registration_id": 26
}
]
}

GET race/{id}/removed_participants

Returns a list of participants that have been removed since the provided modified_after_timestamp.


http://demo.raceentry.com/rest/race/{id}/removed_participants?tmp_key=KEY_HASH&tmp_secret=SECRET_HASH&modified_after_timestamp=1745485200

Success:

Response code: 200

[
{
"event": {
"event_id": 16,
"participants": []
},
"participants": [
{
"user": {
"user_id": 26,
"first_name": "John",
"middle_name": null,
"last_name": "Doe",
"email": "john.doe@example.com",
"address": {
"street": "123 Main St",
"city": "Provo",
"state": "UT",
"zipcode": "84601",
"country_code": "USA"
},
"dob": "1990-05-05",
"gender": "M",
"phone": "5555555555",
"profile_image_url": null
},
"registration_id": 26,
"event_id": 16,
"rsu_transaction_id": null,
"transaction_id": null,
"bib_num": 50000,
"chip_num": 50000,
"age": 35,
"registration_date": "04/24/2025 10:22",
"team_id": null,
"team_name": null,
"team_type_id": null,
"team_type": null,
"team_gender": null,
"team_bib_num": null,
"last_modified": 1757723980,
"imported": "T",
"race_fee": "$0.00",
"offline_payment_amount": "$0.00",
"processing_fee": "$0.00",
"processing_fee_paid_by_user": "$0.00",
"processing_fee_paid_by_race": "$0.00",
"partner_fee": "$0.00",
"affiliate_profit": "$0.00",
"extra_fees": "$0.00",
"amount_paid": "$0.00",
"usatf_discount_amount_in_cents": "$0.00",
"usatf_discount_additional_field": null,
"giveaway": null,
"giveaway_option_id": null,
"race_corral_id": null,
"race_corral_name": null,
"checked_in": "F",
"checkin_date": null,
"checked_in_by_user_id": null
},
{
"user": {
"user_id": 25,
"first_name": "Jane",
"middle_name": null,
"last_name": "Doe",
"email": "jane.doe@example.com",
"address": {
"street": "123 Main St",
"city": "Provo",
"state": "UT",
"zipcode": "84601",
"country_code": "USA"
},
"dob": "2000-04-13",
"gender": "F",
"phone": "5555555555",
"profile_image_url": null
},
"registration_id": 25,
"event_id": 16,
"rsu_transaction_id": null,
"transaction_id": null,
"bib_num": 2,
"chip_num": 2,
"age": 25,
"registration_date": "04/24/2025 09:59",
"team_id": null,
"team_name": null,
"team_type_id": null,
"team_type": null,
"team_gender": null,
"team_bib_num": null,
"last_modified": 1757723980,
"imported": "T",
"race_fee": "$0.00",
"offline_payment_amount": "$0.00",
"processing_fee": "$0.00",
"processing_fee_paid_by_user": "$0.00",
"processing_fee_paid_by_race": "$0.00",
"partner_fee": "$0.00",
"affiliate_profit": "$0.00",
"extra_fees": "$0.00",
"amount_paid": "$0.00",
"usatf_discount_amount_in_cents": "$0.00",
"usatf_discount_additional_field": null,
"giveaway": null,
"giveaway_option_id": null,
"race_corral_id": null,
"race_corral_name": null,
"checked_in": "F",
"checkin_date": null,
"checked_in_by_user_id": null
}
]
},
{
"event": {
"event_id": 67,
"participants": []
}
},
{
"event": {
"event_id": 68,
"participants": []
}
}
]

TEAM DATA

These are the endpoints that will return information about and set certain settings for teams. They will only give information about races that the user (determined by the key/secret pair) has permission to access.

Query Parameters

Parameter Format Value Effect Applies To
tmp_key string Returned from login API call Allows authorized access to API endponts ALL (required)
tmp_secret string Returned from login API call Allows authorized access to API endponts ALL (required)

Endpoints

Endpoint Response

GET race/{id}/teams

Returns a list of teams for the specified id.


http://demo.raceentry.com/rest/race/{id}/teams?tmp_key=KEY_HASH&tmp_secret=SECRET_HASH

Success:

Response code: 200

[
{
"team_id": 9,
"team_type_id": 68,
"team_name": "Sole Survivors",
"team_gender": null,
"team_bib_num": null,
"team_age_restriction_id": null,
"last_modified_ts": 1626974217
},
{
"team_id": 10,
"team_type_id": 68,
"team_name": "Speedy Squad",
"team_gender": null,
"team_bib_num": null,
"team_age_restriction_id": null,
"last_modified_ts": 1626974217
}
]

POST race/{id}/teams

Used to add or modify team(s)


http://demo.raceentry.com/rest/race/{id}/teams?tmp_key=KEY_HASH&tmp_secret=SECRET_HASH

Key Type Example Required
request JSON string
{
"race_teams": [
{
"team_id": "",
"team_type_id": 68,
"team_name": "Track Pack"
}
]
}
YES
Field Required Note
team_id Yes If blank, a new team will be created. If a value is provided, the existing team will be updated.
team_type_id Yes
team_name Yes

Success:

Response code: 200

{
"race_teams": [
{
"team_id": 11
}
]
}

GET race/{id}/teams/team_types

Returns a list of team types


http://demo.raceentry.com/rest/race/{id}/teams/team_types?tmp_key=KEY_HASH&tmp_secret=SECRET_HASH

Success:

Response code: 200

{
"race_team_types": [
{
"team_type_id": 68,
"team_type": "Team Marathon",
"team_type_desc": null,
"min_members": 0,
"max_members": 5,
"min_male_members": 0,
"max_male_members": null,
"min_female_members": 0,
"max_female_members": null,
"max_num_teams": 13,
"valid_event_ids": [
68
],
"require_gender_selection": "F",
"allow_all_male_team": "T",
"allow_all_female_team": "T",
"allow_coed_team": "T",
"require_age_range_selection": "F",
"team_age_restrictions": []
}
]
}