Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Table of Contents
stylenone

Changelogs

Version

Date

Changes by

Description of change

V1.0

Tam Tran

Initial documentation

API Definition

Status
colourGreen
titlePOST
/public/v2/rec-applications/grouped-device

Request

Headers

Content-Type

application/json

Authorization

Bearer {{access_token}}

Parameters

Parameters

Request Payload

VintageFrom (required) - text, format

Vintage from

Supported format:

  • yyyy-MM-dd

Vintage from

VintageTo (required) - text, format

Vintage to

Supported format:

  • yyyy-MM-dd

Vintage to

AssetId DeviceId (required) - uuid

Asset Id

Request

Status
colourGreen
titlePOST
/public/v2/rec-applications/irec

Request Payload

Device unique Identifier

Example request

Code Block
languagejson
{
    "VintageFrom": "2023-08-01",
    "VintageTo": "2023-08-10",
    "AssetIdDeviceId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}

Response

Response Body

Data:Id - uuid

REC Registration Application Unique Identifier

Errors list of error objects

Please see "Getting Started - #Error Object" for more details

请查看Getting Started - #Error Object以获得更多信息。

Meta pagination resource

Return Pagination Resource

返回分页信息

StatusCode integer

Http Status codes standard. Example 200, 201, 400, 422.

http状态码,如200,201,400, 422

Message text

Response message: Success or error message.

返回成功或错误的信息。

Response

Info

201 Success

  • Success with success message

Code Block
languagejson
{
  "Data": {
    "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
  },
  "Errors": null,
  "Meta": null, 
  "StatusCode": 201,
  "Message": "Create REC issuance successfully."
}
  • Success with warning message residual mix deadline

Code Block
languagejson
{
  "Data": {
    "Id": "fa010cf0-eca3-4397-bc8b-08dcabb775c9"
  },
  "Errors": null,
  "Meta": null, 
  "StatusCode": 201,
  "Message": "Your selected period has passed the Residual Mix Deadline of May 31, 2024, but before September 30, 2024. You can request to issue REC from JULY, 2023."
}

Warning

400 BadRequest

The current date is greater than the residual mix deadline

Code Block
languagejson
{
    "Data": null,
    "Meta": null,
    "Errors": null,
    "StatusCode": 400,
    "Message": "There is no generation data available for the specified production dates."
"Errors
}
Warning

422 BadRequest

submmit the same period

Code Block
languagejson
{
    "Data": null,
    "Meta": null,
    "Errors": null,
    "StatusCode": 422,
    "Message": "
BadRequest
You have already submitted on this asset with the same period."
}

Warning

401 Unauthorized

Code Block
languagejson
{
  "Data": null
  "Errors": null,
  "Meta": null,
  "StatusCode": 401,
  "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: 60 requests per 1 minute(s)

  • Renewal Period: 60 second(s)

  • Key: accound-id business account Id.

  • Increment Condition: Any Request.

Rate Limit Details

  1. Rate Limit by Key:

    1. Key: This ensures that rate limits are applied uniquely for each business account id.

    2. Request Limit: Each key is allowed to make up to 60 requests per minute.

    3. Reset Interval: The limit resets every 60 seconds.

  2. Response Headers:

    1. 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
languagejson
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
}