REST API
This article describes some common parts for Loopring's REST API.
Base URL
https://api3.loopring.io
Rate Limit
Each API has its rate limit settings. The relayer will reject all API invocations beyond this limit, with status code 429
. Stop excessive API invocations to avoid your account from being suspended.
HTTP Headers
X-API-KEY
All API except querying user ApiKey need to specify the X-API-KEY
HTTP header with the user's ApiKey as the value.
X-API-SIG
The following API needs to specify the X-API-SIG
HTTP header to provide an EdDSA signature:
Setting HTTP Headers
To set the HTTP headers using Python, use the code below:
def init_request_session(apiKey, sig):
session = requests.session()
session.headers.update({
'Accept': 'application/json',
'X-API-KEY': apiKey,
'X-API-SIG': sig,
})
return session
Response
Except for network errors, all API will return the 200
HTTP status code and the result strucutre in json format.
However, if an error occurred, besides the 400
HTTP status code, also there is a JSON structure which contains a resultInfo
structure that has a code
field for application-specific status code, and a data
JSON object that represents API-specific response.
Response
Field | Type | Required | Description | Example |
---|---|---|---|---|
resultInfo | ResultInfo | Y | Result of API invocation | - |
ResultInfo Struct
Field | Type | Required | Description | Example |
---|---|---|---|---|
code | integer | Y | Status code | 0 |
message | string | Y | Return message. This is used for debug only. Do not show to users | "SUCCESS" |
Status code
Status code | Description |
---|---|
0 | Success |
100000 | Unknown internal error |
100001 | Invalid parameter |
100002 | Request timeout |
100202 | Update fail |
100203 | Internal persistence error |
100204 | Duplicate request |