Difference between revisions of "Prime API"
Line 20: | Line 20: | ||
Private API is '''off by default'''. You need to enable it in your profile. | Private API is '''off by default'''. You need to enable it in your profile. | ||
+ | |||
+ | You are expected to '''pass the API key as a HTTP header''': | ||
+ | Authorization: PrimeExchange 84ffsOscok1Asbbqj28gcscv86M3nj4bRIamFaKe | ||
+ | ...where the long string is of course your API key. | ||
+ | |||
+ | It is also possible to pass the API key as a request param: | ||
+ | ?api_key=84ffsOscok1Asbbqj28gcscv86M3nj4bRIamFaKe | ||
+ | ...although this is not recommended as sensitive data should not be passed in the URI. | ||
===Get my deposit address=== | ===Get my deposit address=== | ||
− | |||
GET /v1/prv/deposit_address/:currency_name.json | GET /v1/prv/deposit_address/:currency_name.json | ||
Line 40: | Line 47: | ||
{"errors":{"currency_name":"is invalid"}} | {"errors":{"currency_name":"is invalid"}} | ||
</source> | </source> | ||
+ | |||
+ | ===Get balances and user data=== | ||
+ | |||
+ | GET /v1/prv/user.json | ||
+ | |||
+ | Example: | ||
+ | <source lang="bash"> | ||
+ | curl -i --request GET http://localhost:3000/v1/prv/user.json --header "Authorization: PrimeExchange 84ffsOscok1Asbbqj28gcscv86M3nj4bRIamFaKe" | ||
+ | </source> | ||
+ | |||
+ | Response: | ||
+ | <source lang="javascript"> | ||
+ | { | ||
+ | "user": { | ||
+ | "username": "adalovelace", | ||
+ | "email": "adalovelace@bitcoinfoundation.org", | ||
+ | "balances": [ | ||
+ | { | ||
+ | "available": "0.199", | ||
+ | "total": "0.199", | ||
+ | "currency_name": "BTC" | ||
+ | }, | ||
+ | { | ||
+ | "available": "0.0", | ||
+ | "total": "0.0", | ||
+ | "currency_name": "PLN" | ||
+ | }, | ||
+ | { | ||
+ | "available": "7.11", | ||
+ | "total": "7.11", | ||
+ | "currency_name": "LTC" | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | } | ||
+ | </source> | ||
+ | * '''available''' - the amount you can manage, i.e. to place a new offer | ||
+ | * '''total''' - the amount including funds reserved for offers, withdrawals, etc. | ||
==References== | ==References== | ||
<References /> | <References /> |
Revision as of 21:58, 7 February 2014
Contents
Introduction
Prime API is based on JSON, delivered through HTTPS and is mostly REST-ful.
API URIs always start with a marker "/v1" to make the version explicit.
All timestamps are returned in ISO 8601 format:
YYYY-MM-DDTHH:MM:SSZ
Public API
Public API calls are available without authentication.
Private API
Private API calls require authentication via:
- Your personal API key and optionally
- IP address
Private API is off by default. You need to enable it in your profile.
You are expected to pass the API key as a HTTP header:
Authorization: PrimeExchange 84ffsOscok1Asbbqj28gcscv86M3nj4bRIamFaKe
...where the long string is of course your API key.
It is also possible to pass the API key as a request param:
?api_key=84ffsOscok1Asbbqj28gcscv86M3nj4bRIamFaKe
...although this is not recommended as sensitive data should not be passed in the URI.
Get my deposit address
GET /v1/prv/deposit_address/:currency_name.json
Example:
curl -v --request GET http://localhost:3000/v1/prv/deposit_address/BTC.json --header "Authorization: PrimeExchange 84ffsOscok1Asbbqj28gcscv86M3nj4bRIamFaKe"
Response:
{"address":"n2Ccn5em9gcQyBe2QvZnfzzXq8EZh1ncJj"}
Error response:
{"errors":{"currency_name":"is invalid"}}
Get balances and user data
GET /v1/prv/user.json
Example:
curl -i --request GET http://localhost:3000/v1/prv/user.json --header "Authorization: PrimeExchange 84ffsOscok1Asbbqj28gcscv86M3nj4bRIamFaKe"
Response:
{
"user": {
"username": "adalovelace",
"email": "adalovelace@bitcoinfoundation.org",
"balances": [
{
"available": "0.199",
"total": "0.199",
"currency_name": "BTC"
},
{
"available": "0.0",
"total": "0.0",
"currency_name": "PLN"
},
{
"available": "7.11",
"total": "7.11",
"currency_name": "LTC"
}
]
}
}
- available - the amount you can manage, i.e. to place a new offer
- total - the amount including funds reserved for offers, withdrawals, etc.