Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Page Tree Search

Overview

The USTA API provides a toolkit for accessing USTA data from properly credentialed partner applications.  The API is organized around RESTful calling style that works with standard HTTP calls.  All requests should be made over SSL.  All requests and responses as well as errors are encoded in JSON.  This document provides developers with an introduction to integrating your application with the USTA API.

API Scopes

The USTA API is broken up in three types of requests:

  • Bound requests are for accessing data pertaining to the account that is currently logged in.  This is designed for access from the browser (client).
  • Unbound requests are for accessing data pertaining to any USTA account.  This is designed to for server side machine-to-machine access.
  • Reference requests are for accessing metadata not pertaining to any account.

Authentication

USTA uses AWS Cognito as the Identity Provider.  Bound access uses Authentication Code bearer token paradigm.  Unbound access uses Basic Auithentication.  Examples of both can be found here.

Credentials

This is a secure API and requires credentials to accessing the data.  The USTA must issue credentials prior to using the API.  If you require credentials, please contact USTA.

...

The simplest way to access the API is via use of cURL.  Any language or client that supports HTTPS can be used to call the API. 

Rate Limiting*

The USTA institutes per-month, per-hour, per-minute, and per-IP rate limits for each API method, and limits API users to a maximum of five concurrent connections from a single IP address. Our default limits are more than sufficient for nearly all use cases Please be mindful of these limits.  

Rate limited calls may result in HTTP error status 403 responses.

Pagination*

The default records returned per call is (up to) 25, and the maximum number that can be returned is 100. We provide limit and offset parameters to allow navigation through larger data sets. Responses include a count field, which specifies the total number of records available via pagination. For performance reasons, the offset parameter is limited to a maximum value of 50000.

Here's an example of sequential requests to paginate through the most recent 300 listings, 50 at a time:

Panel
https://services.usta.com/v1/customer/me/roles?limit=50&offset=0
https://services.usta.com/v1/customer/me/roles?limit=50&offset=50
https://services.usta.com/v1/customer/me/roles?limit=50&offset=100
https://services.usta.com/v1/customer/me/roles?limit=50&offset=150
https://services.usta.com/v1/customer/me/roles?limit=50&offset=200
https://services.usta.com/v1/customer/me/roles?limit=50&offset=250

Lookup Behavior

Standard behavior when looking up elements in the API result in HTTP error status 404 NOT FOUND when an element does not exist.  In some cases, an API can result in HTTP status 200 where the result will contain an empty result set. Where the behavior deviates, the API reference will denote the behavior,

...

You can see the complete list of error codes here.

Rate Limiting

The USTA institutes rate limits over a 5 minute time horizon.  Traffic is limited on both an overall message and per endpoint basis

Rate limited calls may result in HTTP error status 429 TOO MANY REQUESTS responses once the limit is reached.  Once the time horizon has expired, the count will be reset and responses will resume.  This cycle will repeat indifinitely.

Overall Traffic Limit

Traffic originating from each origin is restricted so as to prevent denial of service events.

ItemValueDescription
Time Horizon5 MinutesPeriod of time after which the limit count will reset.
Limit10,000 RequestsMaximum requests a distinct caller can make within the time horizon.
Response Code429HTTP code after limit is reached

Per API Call Limit

Calls tp individual API endpoints fro each origin is restriucted 

ItemValueDescription
Time Horizon5 MinutesPeriod of time after which the limit count will reset.
Limit100 RequestsMaximum requests a distinct caller can make within the time horizon.
Response Code429HTTP code after limit is reached


Pagination

The USTA API supports pagination where indicated in the Swagger document.  Pagination is used to increase cliient application performance by reducing the amount of data dragged across the wire.  For api calls that respond with large data sets, USTA supports an Offset/PageSize paradigm.  The result set is broken up in pages containing the specified number of documents per page.  The client applicationn increases the page number until the response contains less than pageSize.  Once the response contains less than pageSize, processing for this call has completed. 

Panel
"pagination": {
    "currentPage":1,
    "pageSize": 20
}

Documentation

Swagger Documentation