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".