General
This secrion describing general information about the Subscription Management API.
Security
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.
Time
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:
yyyy-MM-ddTHH:mm:ss.fffffffZ
yyyy-MM-dd
Endpoints
Endpoint: https://www.coinapi.io/api/
Authorization
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:
- Custom authorization header named
X-CoinAPI-Key
- 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.