The Athlete controller deals exclusively with athlete profiles. You can perform account lookups as well as query member data such as results, friends, rivals, etc. Unclaimed results are available through the Results Controller.

Athlete Account Actions

Create a new Athlete Account.

REST Pattern: [Post Only] athletes/create
Description: Creates a new Athlete record and performs an auto-merge of all matching results at time of creating. This means that in a case where a new user has matching results (Name, State, Gender, and Age matching), those results will exist in his account immediately after creation.
Example: athletes/create
Error Codes: 100: Duplicate Username; 101: Duplicate Email;

Authenticate Athlete Account.

REST Pattern [Post Only]: athletes/login
Description: Authenticates the user against username and password key. If a valid username and password are supplied, it will return an Athlete object. Otherwise it will throw an exception.
Example: athletes/login
Error Codes: 102: Invalid Credentials;

Athlete Discovery and Search

Lookup a Member by Email

REST Pattern: athletes/details/{email}
Description: Returns an Athlete record by email.
Example: athletes/details/troy@athlinks.com

Lookup a Member by ID

REST Pattern: athletes/details/{id}
Description: Returns an Athlete record by id.
Example: athletes/details/10000

Lookup a Member's complete set of Race Results

REST Pattern: athletes/results/{id}
Description: Returns an Athlete's results.
Example: athletes/results/10000
Supports ?mode=small

Lookup a Member's Race Results for a specific Race Category (Running, Swimming, etc.)

REST Pattern: athletes/results/{id}/{raceCatID}
Description: Returns an Athlete's results filtered down to RaceCatID (list: Race Categories).
Example: athletes/results/10000/7
Supports ?mode=small

Lookup a Member's Race Results for a specific Race Category (Running, Swimming, etc.) and Course Pattern ID (5K, 10K, Ironman, etc.)

REST Pattern: athletes/results/{id}/{raceCatID}/{coursePatternID}
Description: Returns an Athlete's results filtered down to RaceCatID (list: Race Categories) and CoursePatternID (List RaceCategories).
Example: athletes/results/10000/7/660
Supports IDs Only as "?mode=small"

Lookup a Member's Friends

REST Pattern: athletes/friends/{id}
Description: Returns a list of friends linked to a member. Paging is passed in via the query string parameters "page" and "PageSize".
Example: athletes/friends/10000
Supports ?mode=small
Supports Paging as "?page=1&pagesize=25"

Lookup a Member's Rivals:

REST Pattern: athletes/rivals/{id}
Description: Returns a list of rivals linked to a member. Paging is passed in via the query string parameters "page" and "PageSize".
Example: athletes/rivals/10000
Supports: Paging as "?page=1&pagesize=25"

Lookup a Member's Race Categories and corresponding Race Counts for each category

REST Pattern: athletes/racecategories/{id}
Description: Returns a list of race categories (list: Race Categories) linked to a member based on the races that he has run.
Example: athletes/racecatgories/10000

Athlete Search

IMPORTANT! PLEASE READ: When building solutions for claiming results by individuals, and you want to search for unclaimed results by name, age, state, etc, please use the Search Feature on the Results Controller.

Search Member Athletes by name.

REST Pattern: Query Pattern: athletes/search?name={name}
Description: Returns a list of athletes matching the search term. The search used includes nicknames (John, Jon, Jonathan, etc.).
Additional Parameters:
  • States {string}: Comma delimited list of StateProvIDs where results are located.
  • AgeFloor {int|0}: The youngest age for which to return results. The age will be calculated from today based on the actual result. Search with an age of 30 will return a result from a race in 2014 for an age of at least 20 (30-10).
  • AgeCeiling {int|100}: The oldest age for which to return results. The age will be calculated from today based on the actual result. Search with an age of 40 will return a result from a race in 2014 for an age of at most 30 (40-10).
  • Email {string|email address}: This parameter is inclusive of the other parameters and searches independently of them. For instance, appending johnsmith@gmail.com to search keys for "Jill Taylor" will return athlete matches for both johnsmith and Jill Taylor.
  • StrictMode {bool|true}: If set to false, returns results ordered by relevance based on input parameters (name, ageCeiling, ageFloor, states) in order to allow the developer to filter out based on his criteria.
Examples:
Supports "?LimitToMembers=[true,t,yes,y,1]" All other values evaluate to "false".