THE COMPLETE RECORD
This profile is part of the recursive Fight Atlas graph. Open any opponent below to load that athlete’s complete professional career, then continue through every linked opponent without returning to a third-party record page.
EVERY RECORDED BOUT
Complete professional fight history, including competition before and outside UFC. Use the controls to isolate an opponent, promotion, method or result.
| Result | Date / record | Opponent | Event | Finish details |
|---|---|---|---|---|
| L | 7–2–1 (1 NC) after bout | Alejandro GarciaView status and profile → | Venom - First Strike | Submission (Armbar)Round 1 Time 4:31 Referee Mike Guymon |
| W | 7–1–1 (1 NC) after bout | David KleinView status and profile → | XCF 7 - Havoc in Havasu 3 | DecisionRound 3 Time 5:00 Referee Not listed |
| NC | 6–1–1 (1 NC) after bout | Jamie VarnerView status and profile → | RITC 61 - Relentless | No ContestRound 2 Time N/A Referee Not listed |
| W | 6–1–1 after bout | Michael ChavezView status and profile → | XCF 3 - Xtreme Cage Fighter 3 | Submission (Armbar)Round 1 Time 1:27 Referee Not listed |
| W | 5–1–1 after bout | Shannon RitchView status and profile → | RITC 30 - Soaring to New Heights | Submission (Armbar)Round 1 Time 0:38 Referee Not listed |
| W | 4–1–1 after bout | Curtis MartinView status and profile → | RITC 29 - Rage in the Cage 29 | Submission (Armbar)Round 1 Time 2:15 Referee Not listed |
| L | 3–1–1 after bout | Gerald PerkinsView status and profile → | RITC 28 - Rage in the Cage 28 | DecisionRound 3 Time 3:00 Referee Not listed |
| W | 3–0–1 after bout | Shawn CollumView status and profile → | RITC 27 - Rage in the Cage 27 | KO (Punch)Round 1 Time 0:13 Referee Not listed |
| W | 2–0–1 after bout | Julian SamaniegoView status and profile → | RITC 23 - Rage in the Cage 23 | Submission (Choke)Round 1 Time 1:15 Referee Not listed |
| D | 1–0–1 after bout | Nick LaQuetteView status and profile → | RITC 20 - Rage in the Cage 20 | DrawRound 3 Time 3:00 Referee Not listed |
| W | 1–0–0 after bout | Keith UdellView status and profile → | RITC 19 - Rage in the Cage 19 | Decision (Unanimous)Round 3 Time 3:00 Referee Not listed |
Fight Atlas republishes factual bout results, not source articles or photography. Belt markers appear only when championship status is confirmed by an official promotion source; unverified bouts are never inferred. The matched source name for this profile is James Upshur.
Verify source record ↗Every verified opponent opens another full career
11 professional bout rows are displayed from the source record. 11 unique opponent identities have a stable source ID and an internal Fight Atlas route. Every opponent row has a verified identity link.
Source and correction standard
The complete professional history is retrieved from the established public fight-record source and cached for up to 24 hours. Current-roster status remains separate from historical career data and does not imply retirement.