0% found this document useful (0 votes)
20 views2 pages

DMA REST API Overview and Setup Guide

The DMA REST API allows direct interaction with RIT Decision Cases without the need for the RIT User App, benefiting users without Windows OS access. It requires two ports for functionality and includes features for monitoring connections and tracking performance. The document outlines differences in rate limiting between the Client REST API and DMA REST API, along with sample code for implementation.

Uploaded by

chanchunyin0525
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views2 pages

DMA REST API Overview and Setup Guide

The DMA REST API allows direct interaction with RIT Decision Cases without the need for the RIT User App, benefiting users without Windows OS access. It requires two ports for functionality and includes features for monitoring connections and tracking performance. The document outlines differences in rate limiting between the Client REST API and DMA REST API, along with sample code for implementation.

Uploaded by

chanchunyin0525
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

A direct-to-market REST API (labelled DMA REST API) which will be enabled concurrently

with the Client REST API and the VBA API whenever ‘API’ is enabled in a loaded
case server file. ‘API’ is enabled by default for all RIT Decision Cases. Note that ‘API
Orders’ are only enabled by default for the algo cases and the LT3 Case.

1. The Client REST API and VBA API will still function as they have in the past so you can continue to
use your content (and our example solutions) without changes.
Recall that the Client REST API connection uses the RIT User App (RIT Client) port connection to a
case server file, e.g., port 10,000, and the ‘API Key’ and port are set by the user (e.g., Rotman and
9999 as shown in the ‘API Info’ window below) to avoid any conflict with any other local ports
already in use. To change to a different case, one changes the RIT User App sign-in to a different
case port, but the ‘API Key’ and port can stay the same (specific to the user’s API connection to their
RIT Client).
2. The new DMA REST API allows participants to interact directly with an RIT Decision Case and its
associated market(s) without using the RIT User App (the RIT Client). This could be very useful
for users who do not have a Windows OS or a VM allowing access to the Windows-based RIT
Client. We have provided (attached and posted) the RIT - User Guide - DMA REST API
[Link] document which summarizes, amongst other details, how to provide credentials and
link using the DMA REST API. In brief:
The DMA REST API requires two ports to function. The Instructor App and python code require the
case port (e.g., 10,000) and an associated API port ( e.g., 10,001) for the case to which one wants to
connect. The python code needs to also include the participant’s USERNAME (TraderID) and
PASSWORD since they may not already be signed-in through the RIT Client. Of course, one can also
use the DMA REST API with the RIT Client connected, allowing one to access the RIT Client’s
interface with its many tracking, monitoring, and support features.
3. Note that a userlist must be loaded on the Instructor App to monitor any DMA REST API
connections. A participant will only have one credential whether they choose to use the RIT
Client or not.
4. Assuming one is not already signed into the RIT Client, the ‘Traders’ tab on the top toolbar of
the Instructor App will show participants who have connected with the DMA REST API.
5. The ‘Monitoring’ tab on the top toolbar of the Instructor App now includes a ‘DMA Connections’
window which shows details about a participant’s first DMA REST API connection (ID, Trader ID,
IP, Timestamp), again assuming that one is not already signed into the RIT Client prior to making
a DMA REST API connection.
6. Instructors can also use the ‘Monitoring’ –> ‘Traders & Positions’ module to track performance
as usual, including those who are only connected via the DMA REST API.
7. The new v420 of the RIT User App adds a source field to the ‘Orders’ and ‘Transactions’ tabs in
the ‘[Link]’ file, identifying the source as ‘DMA’, ‘REST’, or ‘VBA’.
8. The ‘API’ button on the bottom toolbar of the RIT User App, opens an ‘API Info’ window that
now includes links to detailed instructions about using any of the three API options.
9. As noted in the relevant links in the ‘API Info’ window (1.0.3 for the Client REST API and 1.0.4 for
the new DMA REST API), there is a difference between how the two REST APIs deal with ‘Rate
Limiting’. The Client REST API queues orders that exceed the ‘APIOrdersPerSecond ‘ parameter
set in the connected case server file. As noted in the relevant links in the ‘API Info’ window
(1.0.3 for the Client REST API and 1.0.4 for the new DMA REST API), there is a difference
between how the two REST APIs deal with ‘Rate Limiting’. The Client REST API queues orders
that exceed the ‘APIOrdersPerSecond ‘ parameter set in the connected case server file.
However, when using the DMA REST API, one needs to include exception handling code to
manage rates exceeding the ‘APIReadsPerSecond’ and ‘APIWritesPerSecond’ parameters. The
‘RIT – User Guide – DMA REST API Setup’ document provides additional details and includes a
sample block of code that users can insert in their python code to manage any exceptions to
those limits.
10. Example python solution code, ‘RIT – Example Code – ALGO1 – Python – DMA REST [Link]’, is
attached. It will also be posted, along with the Client REST API sample solution, under ‘Case
Files’ when the ALGO1 case is loaded on the RIT Instructor App.

You might also like