Public API

Overview

This API is open to all developers for reasonable use only, and should not be abused. We reserve the right to change or remove the API at any time if a need arises. While we don't expect to take any drastic action, we still reserve that right.

The current version is at v1. We may make backward compatible changes without introducing a new version, but be aware that this may not always be possible.

PLEASE NOTE: The data available by this API, and by this site in general, includes data from Missouri FTC events only. Yeah, we know a general site for all regions would be cool, but honestly we don't have the time right now to support that.

Finally, if you find this useful, please drop us a line and let us know! We'd absolutely love to hear how this data is being used.

Email Us

Documentation

One day the Time Fairy will come down and give us lots of extra time. When that happens, high on our priority list is to provide good documentation for this API. Since that hasn't yet occurred, unfortunately you're stuck with what we've been able to write quickly.

All requests are to be made using REST endpoints (GET requests). The data will always be returned as a JSON object as noted below.

Events Request

The events request will return all of the events for a given FTC game. The game is identified by a game identifier. The game identifier must be one of: Res-Q (resq), Velocty Vortex (velocity) or Relic Recovery (relic).


Event Request

The event request will return the event, team, award, and match information for a given event. The event is identified in the form gameid_eventid. As in the Events request, the game identifier must be one of: Res-Q (resq), Velocty Vortex (velocity) or Relic Recovery (relic). The eventid is is usually in the form of a two or three character identifier. Valid values for gameid and eventid can be found using the Events request.


Teams Request

The teams request will return all of the teams registered and participating for a given year. Currently, only two games are supported: Res-Q (resq) and Velocty Vortex (velocity).


Team Request

The team request will return detailed information on a specified team for every game where the team has participated (back to the resq season only). This includes team information, events, awards, and matches played. The team is identified by their team number.


Match Request

The match request will return detailed match data for a specified match. The match requested is identifed by a match_id which takes the following format: gameid_eventid_divisionid_match, where:

  • gameid is one of "resq", "velocity", or "relic"
  • eventid is a two or three character identifier for the particular event
  • divisionid is a single digit number identifying the division. For a single division event this is always 1. For a dual division event this can be 1 or 2 for the two divisions, or 0 which is used to identify tournament finals.
  • match is the normal match identifier used at tournaments, usually something like "Q-4", or "SF-2", or "F-1".

The data returned for the match will include detailed scoring data recorded by the scoring software. Most of the fields returned are self explanitory and will not be covered in detail, however the data contained within "score_details" will be different depending upon which game is being requested (resq or velocity) and those fields follow the convention used used in the scoring software. The values returned are documented below to help with clarity:

team1NSDQ
Alliance Team 1 No Show or Disqualified. 1=NoShow, 2=Disqualified
team2NSDQ
Alliance Team 2 No Show or Disqualified. 1=NoShow, 2=Disqualified
team3NSDQ
Alliance Team 3 No Show or Disqualified. 1=NoShow, 2=Disqualified
team1YC
Alliance Team 1 Yellow Card Issued
team2YC
Alliance Team 2 Yellow Card Issued
team3YC
Alliance Team 3 Yellow Card Issued
autoBeacons
Autonomous Beacons Awarded
autoCapBall
Cap Ball Removed in Autonomous. 1=Ball Removed
autoParticlesCenter
Number of Particles Scored In Center Vortex During Autonomous
autoParticlesCenter
Number of Particles Scored In Corner Vortex During Autonomous
team1AutoLoc
Location of Team 1 At End of Autonomous. 0=Not Parked, 1=On Center Vortex, 2=Completely On Vortex, 3=On Corner Ramp, 4=Completely On Corner Ramp
team2AutoLoc
Location of Team 2 At End of Autonomous. 0=Not Parked, 1=On Center Vortex, 2=Completely On Vortex, 3=On Corner Ramp, 4=Completely On Corner Ramp
teleopBeacons
Number of Claimed Beacons at the End of Teleop
teleopParticlesCenter
Number of Particles Scored In Center Vortex During Teleop
teleopParticlesCorner
Number of Particles Scored In Corner Vortex During Teleop
minorPenalties
Minor Penalties Committed by the Alliance
majorPenalties
Major Penalties Committed by the Alliance
team1NSDQ
Alliance Team 1 No Show or Disqualified. 1=NoShow, 2=Disqualified
team2NSDQ
Alliance Team 2 No Show or Disqualified. 1=NoShow, 2=Disqualified
team3NSDQ
Alliance Team 3 No Show or Disqualified. 1=NoShow, 2=Disqualified
team1AutoLoc
Alliance Team 1 Autonomous Location: 0=Not in Scoring Area, 1=In Beacon Repair Zone, 2=In Floor Goal, 3=On Mountain Touching Floor, 4=On Mountain Low Zone, 5=On Mountain Mid Zone, 6=On Mountain High Zone
team2AutoLoc
Autonomous Location: 0=Not in Scoring Area, 1=In Beacon Repair Zone, 2=In Floor Goal, 3=On Mountain Touching Floor, 4=On Mountain Low Zone, 5=On Mountain Mid Zone, 6=On Mountain High Zone
autoRescueBeacons
Number of Autonomous Rescue Beacons Triggered
autoClimbers
Number of Climbers in Shelter at end of Autonomous
team1TeleopLoc
Alliance Team 1 End of Teleop Location: 0=Not in Scoring Area, 1=In Beacon Repair Zone, 2=In Floor Goal, 3=On Mountain Touching Floor, 4=On Mountain Low Zone, 5=On Mountain Mid Zone, 6=On Mountain High Zone
team2TeleopLoc
Alliance Team 2 End of Teleop Location: 0=Not in Scoring Area, 1=In Beacon Repair Zone, 2=In Floor Goal, 3=On Mountain Touching Floor, 4=On Mountain Low Zone, 5=On Mountain Mid Zone, 6=On Mountain High Zone
floorDebris
Number of Debris in Floor Goal
highDebris
Number of Debris in High Goal
lowDebris
Number of Debris in Low Goal
midDebris
Number of Debris in Mid Goal
teleopClimbers
Number of Climbers in Shelter at end of Teleop
zipClimbers
Number of Zip Line Climbers Released
allClear
All Clear Signal
pullUpBar
Number of Robots on Pull Up Bar
minorPenalties
Minor Penalties Committed by the Alliance
majorPenalties
Major Penalties Committed by the Alliance

We Might Take Requests

Currently this API is available as-is. We make no promises that we'll ever update this beyond what is necessary to help support this site. However, we are tired right now and it's late, so perhaps our mood will improve after some sleep. If you have a specific request that would make this API easier to use, please do get in touch. No promises, but we do keep a list and if it doesn't take us too far out of the way we might just be able to get it in.

Happy Coding!

Last Major Update: 2016-Oct-04