API Primer

Developers will find it useful to review this information before they begin to research the use of DTCC Digital Assets APIs, including incorporating calls to API Endpoints into their application code.

Definitions

An API refers to a set of API Endpoints exposed by a single Component that allows application developers to consume its functionality.

An API Endpoint is a RESTful URI interface exposed by a Component that performs a specific task. 

A Component is a software module that provides discreet functionality and which typically is deployed as part of a product, such as the Capital Markets Platform (CMP) and/or LedgerScan. For example, the Ledger Management Engine is a Component.  

DTCC Digital Assets's Hosted SaaS Offering 

DTCC offers a 'multi-tenant' Software-as-a-Service) capability that hosts a number of products consisting of Components that expose both human user interfaces and APIs. 

APIs - more specifically API Endpoints - are exposed for use by third-party applications via Apigee and an API management. DTCC Digital Assets uses Apigee to keep track of API usage by applications.

API Endpoint Structure

API Endpoints are REStful URI interfaces, conforming to a general structure noted below:

REST METHOD {Apigee domain}/{Component proxy}{endpoint}

Where:

REST METHOD is one of:

GET - to retrieve resource representation/information only
PUT - to create new subordinate resources
POST - to update an existing resource
DELETE - to delete a resources

See https://restfulapi.net/ for more information on REST and detailed information of REST METHODS and their usage.

{Apigee domain} is the URI of the Apigee service operated by DTCC. This will include the string "HTTPS://" followed by a domain name provided by DTCC Digital Assets.

{Component proxy} is related to the Component that is exposing the API Endpoint. For example:

LSOE - LedgerScan Operations Engine

LSPE - LedgerScan Processing Engine

PFE - Pricing Engine (aka Price Feed Engine)

{Endpoint} is a string that specifies the specific API Endpoint that is exposed and is being called by the application.

An example would be:

PUT {Apigee URL}/{LSOE proxy}/v1/tokens/{tokenId}/tracking

Thus, a complete endpoint might be:

PUT https://developer.dtcc.com/LSOE-proxy/v1/tokens/{tokenId}/tracking

API Endpoint Process Flows

In order to use API Endpoints to perform a particular function, they will generally need to be called in a specific order, or process flow.

For example, before the value of a token can be tracked in LedgerScan, it must first be added to LedgerScan's interest list and then enabled for tracking.

This process flow information is documented for each service category, often in the form of tutorials to perform specific functions. For example:

Pricing Services

API Products

In order to use API Endpoints, it is necessary to subscribe to the API Products that include them. Refer to API Products for a listing of the API Endpoints that each covers, understanding that API Endpoints can be included in more than one API Product.

Standard API Endpoint Return Codes

Unless otherwise specified for an API Endpoint, the following status codes are returned for all API Endpoints:

  • 200 – Success, fields may be returned
  • 401 – Unauthorized, likely because the calling application did not have the correct permissions set up
  • 403 – Forbidden, possibly because of a network security issue
  • 404 – Not Found, the API Endpoint url is incorrect.
  • 422 – Validation error on a parameter
  • 500 – Server Error, a problem occurred with the component.