The Tournament Manager (TM) Public API allows 3rd party developers to build tools and integrations that interoperate with the Tournament Manager software. Some types of integrations (e.g., video or display switchers) are permitted, and others (e.g., alternative match timer displays) are prohibited. This article provides an overview of the TM Public API and a link to more comprehensive information.

What is the TM Public API?

  • An API is a set of rules and tools that allow different software applications to communicate with each other. The goal of the TM Public API is to provide an officially-recognized opportunity for advanced members of the VEX community to develop their own Tournament Manager “extensions” or “add-ons”.
  • Examples of encouraged / permitted integrations include:
    • Automatically recording and/or uploading individual competition matches
    • Controlling a video switcher to select a camera associated with the active field
    • Adding macropad support
    • Controlling a PTZ camera to point to the active field
    • Automatically switching the audience display screen selection based on various conditions
    • Making a comically large “start match” button
  • The TM Public API is in its early stages, and is provided “as-is” without warranty of any kind. While we hope to maintain compatibility in the future, we reserve the right to modify or discontinue the API at any time.

What functionality is available?

  • Match schedule / results
  • Rankings
  • Skills results
  • Event stream (e.g., the moment when matches are queued to fields, match starts, etc.)
  • Basic match control commands (e.g., start/stop, queue next match)

What functionality is NOT available?

  • Anything “write” or “edit” related
  • Editing or submitting scores
  • Real-time information during a match (e.g., live scoring)
  • Editing team information
  • Modifying event configuration (e.g., field sets, generating match schedules, etc.)

I’m an Event Partner; how do I enable the API if I want to use third-party tools at my event?

  • Open Tournament Manager and select the Tools menu, then Options. When the Options window opens, select the Web Publishing category. Check the “Enable Local TM API” checkbox and save the changes.
  • This will need to be done each time a new event is created.

I’m a developer; how do I start developing with the TM API?

  • More information can be found in the Tournament Manager Public API Guide.
  • To get started, submit an API credentials request at this link and tell us about what you’re working on. Don’t worry; as long as your intended application falls within the guidelines listed below, it should be approved. This will help to make sure that you aren’t putting development energy into something that will end up not being permitted later on!

Rules & Regulations

  • Third-party applications must follow all technical requirements listed in the TM Public API Guide (e.g., request signing, App ID, API keys, etc.)
  • Must require the user to manually “opt-in” or enable the add-on manually via Tools > Settings > Web Publishing > “Enable Local TM API”.
  • The following things may be technically possible in the beta API, but are explicitly prohibited. Applications found in violation of these guidelines will be disabled and have their API credentials revoked.
    • Displaying any type of match time, or modifying anything related to match time, other than information contained in the API’s Event Stream.
      • Keeping accurate time, and correctly synchronizing it across all possible devices, is a surprisingly complex challenge that is intertwined throughout many portions of the core TM codebase.
      • It is impossible to predict what unintended consequences may result from providing access to this through a public-facing API, and we do not want to place EPs and teams in a position where they’re not sure if they can trust the time being displayed on their screens.
    • Recreating any existing functionality (e.g., making your own “TM Mobile”)
      • Maintaining a consistent core event experience is a fundamental tenet of the REC Foundation event model. Teams should be able to trust that the fundamental tools being used at their event are the same as those being used anywhere else, and that volunteers with experience at one event can jump to another event with minimal training—whether it’s the smallest league event or the largest Signature Event!
      • If you have ideas for how an existing function could be improved, let us know directly! Changes that truly provide a better user experience should be written into TM directly and available to all events.
    • Modifying or re-creating any audience displays
      • In addition to the consistency notes mentioned above, the content included in the official audience displays are the result of critical design & vetting processes between REC Foundation sponsors, accessibility groups, and marketing / brand management teams.
      • Even though display modifications may seem innocent in the context of a single event, they can often have unintended consequences that impact the REC Foundation on a larger scale (e.g., sponsorship agreements or limitations on use of a copyrighted image).
    • Accessing or modifying any internal components of Tournament Manager outside of the official open API protocols
      • Third-party modifications, when created unofficially, pose a potential risk of compromising event integrity. The official API entry points have been intentionally created as a known avenue for third-party extensions that minimizes or eliminates this risk.
      • Modifications outside of these channels, in addition to being a violation of these guidelines, may risk putting EPs or teams in a position where they cannot trust the software running their event.
  • Note: This is unexplored territory for us too! We may have some ideas for what TM Tools the community may be interested in, but your creativity never ceases to surpass our expectations. So, these guidelines will likely evolve over time as the TM Tools program expands and we start to see what comes from it!
  • As a reminder, any use of unauthorized or illegally modified software (i.e., software which violates any of these guidelines) in an official Qualifying Event is strictly prohibited.
    • For developers, this will result in their API credentials being revoked and their applications disabled.
    • For students or other team members, this will be treated as a violation of the REC Foundation Code of Conduct.
    • For Event Partners, this will be treated as a violation of the Commitment to Event Excellence.