Gets information about a specific race, including the race name, dates, URL, location, and events. Event start and end times are in the timezone of the race. All other dates/times are in Eastern Time. Additional race heading and links can be retrieved with the appropriate parameters.
A single race can be reused from one year to the next. By default, the output includes all events, including past events. To get just future events, use the future_events_only parameter
Each age based pricing entry has the following fields:
Each question has the following fields:
Each add-on has the following fields:
Each membership setting has the following fields:
Each event can have a corral_settings field:
Certain questions are set up for use with specific features.
They do not show with normal questions during race registration.
If you do not set supports_question_application_types
to T
when you call this API, the response will not include any question that has an application type set.
If you do, they will be returned and the JSON response will include a application_type
field that indicates where this question applies.
Note that this field is only included in the JSON, not XML, response format.
The current possible values for application_type
are the following, but your integration should be able to handle additional types added in the future.
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 |
Parameter | HTTP Method | Default | Description | Datatype |
---|---|---|---|---|
race_id Required |
GET | ID of race. | uint |
|
future_events_only |
GET | F | Only outputs events that occur in the future. | bool |
most_recent_events_only |
GET | F | Only outputs most recent events for the race. | bool |
race_event_days_id |
GET | Get events by race_event_days_id | int |
|
race_headings |
GET | F | Include race headings in the output. | bool |
race_links |
GET | F | Include race links in the output. | bool |
include_waiver |
GET | F | Should waiver be included? | bool |
include_multiple_waivers |
GET | F | Should multiple waivers be included? | bool |
include_participant_caps |
GET | F | Should participant caps be included? | bool |
include_age_based_pricing |
GET | F | Should information on age based pricing be included? | bool |
include_giveaway_details |
GET | F | Should give-away (e.g. T-shirt) details be included? This will include options, such as sizes. | bool |
include_questions |
GET | F | Should questions be included? | bool |
include_addons |
GET | F | Should registration add-ons be included? | bool |
include_membership_settings |
GET | F | Should membership settings be included? | bool |
include_corral_settings |
GET | F | Should corral settings be included? | bool |
include_donation_settings |
GET | F | Should donations settings be included? | bool |
include_extra_date_info |
GET | F | Should extra information about cancellations and postponements be included? | bool |
supports_question_application_types |
GET | F | Does your integration support question application types? | bool |
{ "openapi": "3.0.3", "info": { "title": "Get Race", "description": "Information about a specific race.", "version": "1.0.0", "contact": { "name": "RunSignup API Support", "url": "https://runsignup.com/API", "email": "info@runsignup.com" } }, "servers": [ { "url": "https://runsignup.com/API", "description": "Production API Server" } ], "tags": [ { "name": "Basic Race Information", "description": "APIs related to Basic Race Information" } ], "components": { "schemas": { "Error": { "type": "object", "properties": { "error": { "type": "string", "description": "Error message" } }, "required": [ "error" ] }, "BadRequestError": { "allOf": [ { "$ref": "#/components/schemas/Error" }, { "description": "Error indicating invalid request parameters or structure" } ] }, "UnauthorizedError": { "allOf": [ { "$ref": "#/components/schemas/Error" }, { "description": "Error indicating authentication failure" } ] }, "ForbiddenError": { "allOf": [ { "$ref": "#/components/schemas/Error" }, { "description": "Error indicating the authenticated user lacks required permissions" } ] }, "NotFoundError": { "allOf": [ { "$ref": "#/components/schemas/Error" }, { "description": "Error indicating the requested resource does not exist" } ] }, "ServerError": { "allOf": [ { "$ref": "#/components/schemas/Error" }, { "description": "Error indicating an unexpected server-side issue" } ] }, "Race_raceIdGetResponse": { "type": "object", "title": "Race Response", "description": "Response schema for detailed race information including events and registration periods", "properties": { "race": { "type": "object", "description": "Detailed information about the race", "example": { "race_id": 12345, "name": "Annual Marathon 2023", "last_date": "06/15/2022", "next_date": "06/15/2023", "is_registration_open": "T", "is_visible": "T", "address": { "street": "123 Main St", "city": "Philadelphia", "state": "PA", "zipcode": "19103", "country_code": "US" }, "logo_url": "https://example.com/race-logo.png", "email_sender": "race@example.com", "waiver_text": "Sample race waiver text...", "waivers": { "1": "Main race waiver text...", "2": "Additional waiver text..." }, "donation_settings": { "type": "runsignup", "start_date": "01/01/2023 05:00", "start_date_ts": 1672549200, "end_date": "01/01/2024 04:59", "end_date_ts": 1704085199, "periods": [ { "donation_period_id": 1, "start_date_ts": 1672549200, "end_date_ts": 1704085199 } ] }, "postponed_cancelled_text": null, "postponed_to_date_text": null, "events": [ { "event_id": 67890, "name": "5K Run", "start_time": "06/15/2023 12:00", "registration_periods": [ { "registration_opens": "01/01/2023 05:00", "registration_closes": "06/15/2023 03:59", "race_fee": 25, "processing_fee": 2.5 } ], "participant_cap": 1000, "soft_participant_cap": 900, "waitlist_settings": { "waitlist_in_effect": "F" }, "age_based_pricing": [ { "age_group_pricing_id": 1, "start_time": "01/01/2023 05:00", "end_time": "06/15/2023 03:59", "race_fee": 20, "min_age": 0, "max_age": 18, "no_giveaway": "F", "no_membership_price_adjustments": "F" } ], "corral_settings": { "ask_for_estimated_finish_time": "T", "min_finish_time_sec": 900, "max_finish_time_sec": 3600, "male_max_finish_time_sec_requiring_verification": 1200, "female_max_finish_time_sec_requiring_verification": 1500, "corral_selection_during_registration": "T", "corrals": [ { "race_corral_id": 1, "corral_name": "Elite", "corral_start_desc": "8:00 AM Start", "corral_desc": "For runners expecting to finish under 20 minutes" }, { "race_corral_id": 2, "corral_name": "Wave 1", "corral_start_desc": "8:05 AM Start", "corral_desc": "For runners expecting to finish between 20-25 minutes" } ] }, "racejoy_uploaded_file_url": "https://example.com/racejoy/course.gpx", "racejoy_external_map_url": "https://example.com/course-map", "racejoy_buyout_max_race_size": 1000, "racejoy_buyout_race_distance_class": "S", "racejoy_buyout_type": "F", "racejoy_buyout_invoice_id": "RJ12345" } ] }, "properties": { "race_id": { "type": "integer", "description": "Unique identifier for the race" }, "name": { "type": "string", "description": "Name of the race" }, "last_date": { "type": "string", "description": "Date when the race last occurred. Present when null", "format": "date" }, "next_date": { "type": "string", "description": "Date when the race will next occur. Present when null", "format": "date" }, "is_registration_open": { "type": "boolean", "description": "Whether registration is currently open" }, "is_visible": { "type": "boolean", "description": "Whether the race is visible to the public" }, "address": { "type": "object", "description": "Location information for the race", "properties": { "street": { "type": "string", "description": "Street address of the race" }, "city": { "type": "string", "description": "City where the race is located" }, "state": { "type": "string", "description": "State or province where the race is located" }, "zipcode": { "type": "string", "description": "Postal code where the race is located" }, "country_code": { "type": "string", "description": "Two-letter country code" } }, "required": [ "street", "city", "state", "zipcode", "country_code" ] }, "logo_url": { "type": "string", "description": "URL to the race logo image. Present when include_logo=T", "x-response-field-inclusion": { "request-parameter": "include_logo", "value": "T" } }, "email_sender": { "type": "string", "description": "Email sender address. Present when include_email_sender=T", "x-response-field-inclusion": { "request-parameter": "include_email_sender", "value": "T" } }, "waiver_text": { "type": "string", "description": "Race waiver text. Present when include_waiver=T", "x-response-field-inclusion": { "request-parameter": "include_waiver", "value": "T" } }, "waivers": { "type": "object", "description": "Map of waiver IDs to waiver text. Present when include_multiple_waivers=T", "x-response-field-inclusion": { "request-parameter": "include_multiple_waivers", "value": "T" }, "properties": { "1": { "type": "string", "description": "Text for waiver ID 1" }, "2": { "type": "string", "description": "Text for waiver ID 2" } } }, "donation_settings": { "type": "object", "description": "Donation configuration. Present when include_donation_settings=T", "x-response-field-inclusion": { "request-parameter": "include_donation_settings", "value": "T" }, "properties": { "type": { "type": "string", "description": "Type of donation configuration", "enum": [ "none", "runsignup" ] }, "start_date": { "type": "string", "description": "Start date of donation period", "format": "date-time" }, "start_date_ts": { "type": "integer", "description": "Start date timestamp" }, "end_date": { "type": "string", "description": "End date of donation period. Present when null", "format": "date-time" }, "end_date_ts": { "type": "integer", "description": "End date timestamp. Present when null" }, "periods": { "type": "array", "description": "List of donation periods", "items": { "type": "object", "description": "Donation period information", "properties": { "donation_period_id": { "type": "integer", "description": "Unique identifier for the donation period" }, "start_date_ts": { "type": "integer", "description": "Start date timestamp" }, "end_date_ts": { "type": "integer", "description": "End date timestamp. Present when null" } }, "required": [ "donation_period_id", "start_date_ts" ] } } } }, "postponed_cancelled_text": { "type": "string", "description": "Text describing race cancellation. Present when include_extra_date_info=T", "x-response-field-inclusion": { "request-parameter": "include_extra_date_info", "value": "T" } }, "postponed_to_date_text": { "type": "string", "description": "Text describing race postponement date. Present when include_extra_date_info=T", "x-response-field-inclusion": { "request-parameter": "include_extra_date_info", "value": "T" } }, "events": { "type": "array", "description": "List of events associated with the race", "items": { "type": "object", "description": "Details about a specific event within the race", "properties": { "event_id": { "type": "integer", "description": "Unique identifier for the event" }, "name": { "type": "string", "description": "Name of the event" }, "start_time": { "type": "string", "description": "Start time of the event. Present when null", "format": "date-time" }, "registration_periods": { "type": "array", "description": "Registration periods for the event", "items": { "type": "object", "description": "Details about a specific registration period", "properties": { "registration_opens": { "type": "string", "description": "When registration opens for this period", "format": "date-time" }, "registration_closes": { "type": "string", "description": "When registration closes for this period", "format": "date-time" }, "race_fee": { "type": "number", "description": "Base fee for the race during this period" }, "processing_fee": { "type": "number", "description": "Processing fee added to the race fee" } }, "required": [ "registration_opens", "registration_closes", "race_fee", "processing_fee" ] } }, "participant_cap": { "type": "integer", "description": "Maximum number of participants allowed. Present when include_participant_caps=T", "x-response-field-inclusion": { "request-parameter": "include_participant_caps", "value": "T" } }, "soft_participant_cap": { "type": "integer", "description": "Soft cap for participants. Present when include_participant_caps=T", "x-response-field-inclusion": { "request-parameter": "include_participant_caps", "value": "T" } }, "waitlist_settings": { "type": "object", "description": "Waitlist configuration. Present when include_participant_caps=T", "x-response-field-inclusion": { "request-parameter": "include_participant_caps", "value": "T" }, "properties": { "waitlist_in_effect": { "type": "boolean", "description": "Whether waitlist is active" } } }, "age_based_pricing": { "type": "array", "description": "Age-based pricing rules. Present when include_age_based_pricing=T", "x-response-field-inclusion": { "request-parameter": "include_age_based_pricing", "value": "T" }, "items": { "type": "object", "description": "Age-based pricing rule", "properties": { "age_group_pricing_id": { "type": "integer", "description": "Unique identifier for the age group pricing" }, "start_time": { "type": "string", "description": "Start time for this pricing", "format": "date-time" }, "end_time": { "type": "string", "description": "End time for this pricing", "format": "date-time" }, "race_fee": { "type": "number", "description": "Event cost for this age range" }, "min_age": { "type": "integer", "description": "Minimum age in the range" }, "max_age": { "type": "integer", "description": "Maximum age in the range" }, "no_giveaway": { "type": "boolean", "description": "Whether participants in this range can receive giveaways" }, "no_membership_price_adjustments": { "type": "boolean", "description": "Whether participants in this range can use membership discounts" } } } }, "corral_settings": { "type": "object", "description": "Corral configuration. Present when include_corral_settings=T", "x-response-field-inclusion": { "request-parameter": "include_corral_settings", "value": "T" }, "properties": { "ask_for_estimated_finish_time": { "type": "boolean", "description": "Whether to ask for estimated finish time" }, "min_finish_time_sec": { "type": "integer", "description": "Minimum finish time in seconds. Present when null" }, "max_finish_time_sec": { "type": "integer", "description": "Maximum finish time in seconds. Present when null" }, "male_max_finish_time_sec_requiring_verification": { "type": "integer", "description": "Maximum finish time for males requiring verification. Present when null" }, "female_max_finish_time_sec_requiring_verification": { "type": "integer", "description": "Maximum finish time for females requiring verification. Present when null" }, "corral_selection_during_registration": { "type": "boolean", "description": "Whether corral selection is available during registration" }, "corrals": { "type": "array", "description": "List of available corrals", "items": { "type": "object", "description": "Corral information", "properties": { "race_corral_id": { "type": "integer", "description": "Unique identifier for the corral" }, "corral_name": { "type": "string", "description": "Name of the corral" }, "corral_start_desc": { "type": "string", "description": "Short description of corral start time" }, "corral_desc": { "type": "string", "description": "Full corral description" } } } } } }, "racejoy_uploaded_file_url": { "type": "string", "description": "RaceJoy uploaded file URL. Present when include_racejoy_settings=T", "x-response-field-inclusion": { "request-parameter": "include_racejoy_settings", "value": "T" } }, "racejoy_external_map_url": { "type": "string", "description": "RaceJoy external map URL. Present when include_racejoy_settings=T", "x-response-field-inclusion": { "request-parameter": "include_racejoy_settings", "value": "T" } }, "racejoy_buyout_max_race_size": { "type": "integer", "description": "RaceJoy buyout maximum race size. Present when include_racejoy_settings=T", "x-response-field-inclusion": { "request-parameter": "include_racejoy_settings", "value": "T" } }, "racejoy_buyout_race_distance_class": { "type": "string", "description": "RaceJoy buyout distance class (S for < 10K, L for >= 10K). Present when include_racejoy_settings=T", "x-response-field-inclusion": { "request-parameter": "include_racejoy_settings", "value": "T" }, "enum": [ "S", "L" ] }, "racejoy_buyout_type": { "type": "string", "description": "RaceJoy buyout type (R for per registrant, F for full buyout). Present when include_racejoy_settings=T", "x-response-field-inclusion": { "request-parameter": "include_racejoy_settings", "value": "T" }, "enum": [ "R", "F" ] }, "racejoy_buyout_invoice_id": { "type": "string", "description": "RaceJoy buyout invoice ID. Present when include_racejoy_settings=T", "x-response-field-inclusion": { "request-parameter": "include_racejoy_settings", "value": "T" } } }, "required": [ "event_id", "name", "registration_periods" ] } } }, "required": [ "race_id", "name", "is_registration_open", "is_visible", "address", "events" ] } }, "required": [ "race" ] } }, "securitySchemes": { "apiKey": { "type": "apiKey", "in": "query", "name": "api_key", "description": "RunSignup API Key" }, "apiSecret": { "type": "apiKey", "in": "query", "name": "api_secret", "description": "RunSignup API Secret" } } }, "paths": { "/race/:race_id": { "get": { "tags": [ "Basic Race Information" ], "summary": "Get Race", "description": "Information about a specific race.", "operationId": "race_:race_id", "parameters": [ { "name": "api_key", "in": "query", "description": "API Key", "required": false, "schema": { "type": "string" } }, { "name": "api_secret", "in": "query", "description": "API Secret", "required": false, "schema": { "type": "string" } }, { "name": "tmp_key", "in": "query", "description": "Temporary API Key from login API call. This should NOT be used in combination with API Key.", "required": false, "schema": { "type": "string" } }, { "name": "tmp_secret", "in": "query", "description": "Temporary API Secret from login API call. This should NOT be used in combination with API Secret.", "required": false, "schema": { "type": "string" } }, { "name": "rsu_api_key", "in": "query", "description": "API v2 key. If used, you must send the API secret in an HTTP header named X-RSU-API-SECRET.", "required": false, "schema": { "type": "string" } }, { "name": "sp_api_key", "in": "query", "description": "Super partner API key. If used, you must send the API secret in an HTTP header named X-RSU-API-SECRET.", "required": false, "schema": { "type": "string" } }, { "name": "X-RSU-API-SECRET", "in": "header", "description": "API v2 or super partner secret.", "required": false, "schema": { "type": "string" } }, { "name": "format", "in": "query", "description": "Format of response. The default if not sent is `xml`, but `json` is preferred.", "required": false, "schema": { "type": "string", "enum": [ "xml", "json", "csv" ], "default": "xml" } }, { "name": "race_id", "in": "query", "description": "ID of race.", "required": true, "schema": { "type": "integer" } }, { "name": "future_events_only", "in": "query", "description": "Only outputs events that occur in the future.", "required": false, "schema": { "type": "boolean", "enum": [ "T", "F" ], "default": "F" } }, { "name": "most_recent_events_only", "in": "query", "description": "Only outputs most recent events for the race.", "required": false, "schema": { "type": "boolean", "enum": [ "T", "F" ], "default": "F" } }, { "name": "race_event_days_id", "in": "query", "description": "Get events by race_event_days_id", "required": false, "schema": { "type": "integer" } }, { "name": "race_headings", "in": "query", "description": "Include race headings in the output.", "required": false, "schema": { "type": "boolean", "enum": [ "T", "F" ], "default": "F" } }, { "name": "race_links", "in": "query", "description": "Include race links in the output.", "required": false, "schema": { "type": "boolean", "enum": [ "T", "F" ], "default": "F" } }, { "name": "include_waiver", "in": "query", "description": "Should waiver be included?", "required": false, "schema": { "type": "boolean", "enum": [ "T", "F" ], "default": "F" } }, { "name": "include_multiple_waivers", "in": "query", "description": "Should multiple waivers be included?", "required": false, "schema": { "type": "boolean", "enum": [ "T", "F" ], "default": "F" } }, { "name": "include_participant_caps", "in": "query", "description": "Should participant caps be included?", "required": false, "schema": { "type": "boolean", "enum": [ "T", "F" ], "default": "F" } }, { "name": "include_age_based_pricing", "in": "query", "description": "Should information on age based pricing be included?", "required": false, "schema": { "type": "boolean", "enum": [ "T", "F" ], "default": "F" } }, { "name": "include_giveaway_details", "in": "query", "description": "Should give-away (e.g. T-shirt) details be included? This will include options, such as sizes.", "required": false, "schema": { "type": "boolean", "enum": [ "T", "F" ], "default": "F" } }, { "name": "include_questions", "in": "query", "description": "Should questions be included?", "required": false, "schema": { "type": "boolean", "enum": [ "T", "F" ], "default": "F" } }, { "name": "include_addons", "in": "query", "description": "Should registration add-ons be included?", "required": false, "schema": { "type": "boolean", "enum": [ "T", "F" ], "default": "F" } }, { "name": "include_membership_settings", "in": "query", "description": "Should membership settings be included?", "required": false, "schema": { "type": "boolean", "enum": [ "T", "F" ], "default": "F" } }, { "name": "include_corral_settings", "in": "query", "description": "Should corral settings be included?", "required": false, "schema": { "type": "boolean", "enum": [ "T", "F" ], "default": "F" } }, { "name": "include_donation_settings", "in": "query", "description": "Should donations settings be included?", "required": false, "schema": { "type": "boolean", "enum": [ "T", "F" ], "default": "F" } }, { "name": "include_extra_date_info", "in": "query", "description": "Should extra information about cancellations and postponements be included?", "required": false, "schema": { "type": "boolean", "enum": [ "T", "F" ], "default": "F" } }, { "name": "supports_question_application_types", "in": "query", "description": "Does your integration support question application types?", "required": false, "schema": { "type": "boolean", "enum": [ "T", "F" ], "default": "F" } } ], "security": [ { "apiKey": [] }, { "apiSecret": [] } ], "responses": { "200": { "description": "Race Response - Response schema for detailed race information including events and registration periods", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Race_raceIdGetResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ForbiddenError" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundError" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServerError" } } } } }, "x-permissions": [ "affiliates", "partners", "race_directors", "timers" ] } } } }