Prime API

From Bitcoin Wiki
Revision as of 21:58, 7 February 2014 by Qertoip (talk | contribs)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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.

References