Table of Contents
Table of Contents | ||
---|---|---|
|
Changelogs
Version | Date | Changes by | Description of change |
V1.0 | April 10, 2024 | Que Nguyen |
|
V1.0.1 | May 30, 2024 | Que Nguyen |
|
Release status
Environment | Status | Released Date | Version | ||||||
DEV |
| April 10, 2024 | V1.0.1 | ||||||
UAT |
| April 17, 2024 | V1.0 | ||||||
PROD |
| N/A | N/A |
API Definitions
Get Access Token
Resource information
Response format(s)
JSON
Requires authentication?
No
Request Header
Name
Value
Content-Type
application/json
Request Body
RefreshToken
required
string(36)
RefeshToken
getting from the response
GrantType
required
string
refresh_token
ClientId
required
string(36)
System / App / Platform unique identifier
ClientSecret
required
string(36)
System / App / Platform secret
Returns
Returns a message with status code.
Response Header
Content-Type
application/json
Response Body
Field
Type
Description
AccessToken
string
User access token
May 15, 2024 | V1.0 |
The Token resource
The primary resource that you will be interacting with when retrieving the authorization token.
AccessToken text User access token Token lifetime: https://redex-eco.atlassian.net/wiki/spaces/PAD/pages/286490675/Authentication#Access-Token%3A |
RefreshToken |
string
text User refresh token. Using in API “GET Refresh Token” Token |
lifetime: https://redex-eco.atlassian.net/wiki/spaces/PAD/pages/286490675/Authentication#Refresh-Token%3A |
ExpiresIn |
int Token’s expired time in second |
TokenType text |
string
string
Type Identifier: |
Scope |
text Collection of scopes granted for this user access token |
. |
Code Block | ||
---|---|---|
| ||
{
"AccessToken": "{{AccessToken}}",
"RefreshToken": "{{RefreshToken}}",
"ExpiresIn": "3600",
"TokenType": "Bearer",
"Scope": "REConnect_api REDEX_api REHash_api"
} |
API Definitions
Status | ||||
---|---|---|---|---|
|
/public/v2/connect/token/refresh
Request Header
Content-Type |
|
Request Payload
RefreshToken (required) text
|
GrantType (required) text Grant type: |
Body
language | json |
---|
|
ClientId (required) text System / App / Platform unique identifier Max length: 36 |
ClientSecret (required) text System / App / Platform secret Max length: 36 |
Code Block |
---|
curl -X POST 'https://uat-api.redex.eco/public/v2/connect/token/refresh' \ -H 'Content-Type: application/json' \ -D '{ "RefreshToken": "4d7869f0-71cc-43d8-8b82-1f87db6eda2f", "GrantType": "refresh_token", "ClientId": "3Yj1rQvcDGYXqXtaxDNyWaNkWPUAwJ", "ClientSecret": "fNDq3vGM26wzOqr9OMUXQkxdG5J3$o" }' |
Response
Response Body |
Data object Return Token Resource above 返回上面的Token资源 |
Errors list of error objects Please see "Getting Started - #Error Object" for more details 请查看Getting Started - #Error Object以获得更多信息。 |
Meta null object Return null object |
StatusCode integer Http Status codes standard. Example http状态码,如200,201,404 |
Message text Response message: Success or error message. 返回成功或错误的信息。 |
Info |
---|
200 Success |
Code Block | ||
---|---|---|
| ||
{ "Data": { "AccessToken": "{{accessTokenAccessToken}}", "RefreshToken": "{{refreshTokenRefreshToken}}", "ExpiresIn": "3600", "TokenType": "Bearer", "Scope": "REConnect_api REDEX_api REHash_api" }, "StatusCodeErrors": 200null, "ErrorsStatusCode": null200, "MetaMessage": null,"Return tokens successfully", "MessageMeta": "Success"null } |
Warning |
---|
401 Unauthorized |
Code Block | ||
---|---|---|
| ||
{ "Data": null, "Errors": [ { "Key": "unsupported_grant_type", "Message": "unsupported_grant_type" } ], "StatusCode": 401, "Message": "Errorsunsupported_grant_type", "Meta": null {}, "Meta": null "Message": "Unauthorized"} |
Rate limit
Rate Limit Algorithm: Fixed Window
In fixed window rate limiting, a fixed time window (e.g., one minute, one hour) is used to track the number of requests or actions allowed within that window. Requests exceeding the limit are either rejected or throttled until the window resets.
Rate Limiting Overview
Our API employs rate limiting to ensure fair usage and protect the performance and availability of the service. Combination of Global Policy and Operation Policy
Global Policy
Rate Limit: 3000 requests per 5 minute(s)
Renewal Period: 300 second(s)
Key: IP Address
Increment Condition: Any Request
Operation Policy
Rate Limit: 10 requests per 1 minute(s)
Renewal Period: 60 second(s)
Key:
RefreshToken
the refresh token from request body.Increment Condition: Any Request
Rate Limit Details
Rate Limit by Key:
Key: This ensures that rate limits are applied uniquely for each refresh token.
Request Limit: Each key is allowed to make up to 10 requests per minute
Reset Interval: The limit resets every 60 seconds
Response Headers:
Retry-After: Sent when the rate limit is exceeded, indicating how long to wait before making another request.
Exceeding the Rate Limit
When the rate limit is exceeded, the API will return a 429 Too Many Requests
status code. The response will include a Retry-After
header specifying the number of seconds to wait before making a new request.
Example Response When Rate Limit is Exceeded
Code Block | ||
---|---|---|
| ||
HTTP/1.1 429 Too Many Requests Retry-After: 60 Content-Type: application/json { "Data": null, "Errors": null, "StatusCode": 429, "Message": "Rate limit exceeded", "Meta": null } |