Sub Mgmt API


This secrion describing general information about the Subscription Management API.


The use of the encryption is required. We are using protocols that are considered the best security practices.

Standards and conventions

This section represents used standards and conventions across all documents and API's.

Variables naming

All variables are named using the Snake case (or snake_case) naming convention. This means that words are separated by a single underscore _ character, no spaces are used, and letters are lowercase.


For all input and output time values ISO 8601 standard is used.

Format specifier | Description yyyy | The year as a four-digit number. MM | The month, from 01 through 12. dd | The day of the month, from 01 through 31. HH | The hour, using a 24-hour clock from 00 to 23. mm | The minute, from 00 through 59. ss | The second, from 00 through 59. fff | The milliseconds in a date and time value. fffffff | The ten millionths of a second in a date and time value.

Input time values are parsed using the following formats as far as possible:

  • yyyy-MM-ddTHH:mm:ss.fffffff
  • yyyy-MM-ddTHH:mm:ss.fff
  • yyyy-MM-ddTHH:mm:ss
  • yyyy-MM-ddTHH:mm
  • yyyy-MM-ddTHH
  • yyyy-MM-dd
  • yyyyMMddTHHmmssfffffff
  • yyyyMMddTHHmmssfff
  • yyyyMMddTHHmmss
  • yyyyMMddTHHmm
  • yyyyMMddTHH
  • yyyyMMdd

Output time values are formatted using the following patterns:

  1. yyyy-MM-ddTHH:mm:ss.fffffffZ
  2. yyyy-MM-dd




To use resources that require authorized access, you will need to provide an API key to us when making HTTP requests.

There are 2 methods for passing the API key to us, you only need to use one:

  1. Custom authorization header named X-CoinAPI-Key
  2. Query string parameter named apikey

Custom authorization header

You can authorize by providing additional custom header named X-CoinAPI-Key and API key as its value.

Assuming that your API key is 73034021-THIS-IS-SAMPLE-KEY, then the authorization header you should send to us will look like: X-CoinAPI-Key: 73034021-THIS-IS-SAMPLE-KEY

Query string authorization parameter

You can authorize by providing an additional parameter named apikey with a value equal to your API key in the query string of your HTTP request.

Assuming that your API key is 73034021-THIS-IS-SAMPLE-KEY and that you want to request usage report from the Market Data RES TAPI then your query string should look like this: GET /api/subscriptions/usage/rest/history?apikey=73034021-THIS-IS-SAMPLE-KEY

HTTP Requests

Each HTTP request must contain the header Accept: application/json as all our responses are in JSON format.

We encourage you to use the HTTP request header Accept-Encoding: deflate, gzip for all requests. This will indicate to us that we can deliver compressed data to you which on your side should be decompressed transparently.

HTTP Success

Successful HTTP responses have the status code 200 and the body in a format according to documentation of the requested resource.

HTTP Errors

Error message is returned in JSON structured like this:

    "message": "Invalid API key"

All HTTP requests with response status codes different to 200 must be considered as failed and you should expect additional JSON inside the body of the response with the error message encapsulated inside it as shown in the example. We use the following error codes:

Error Code | Meaning 400 | Bad Request -- There is something wrong with your request 401 | Unauthorized -- Your API key is wrong 403 | Forbidden -- Your API key doesnt't have enough privileges to access this resource 429 | Too many requests -- You have exceeded your API key rate limits 550 | No data -- You requested specific single item that we don't have at this moment.

Output data format

By default we are using JSON output data format for all of our endpoints.

Copyright 2022 COINAPI LTD or its affiliates. All rights reserved.