Prime API: Difference between revisions

From Bitcoin Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
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

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