Redoc Public API (2.0)

Download OpenAPI specification:Download

Redex IT Development Team: enquiry@redex.eco URL: https://redex.eco License: Redex Terms of Service

User Guide

  1. Create a User Account on the Redex System
  2. Public API Summary
    1. Device Application
    2. Document
    3. Inventory
    4. Generation Data
    5. REC Application
    6. Retirement Application

Create a User Account on the Redex System

  1. Go to REDEX REHash platform
  1. Click “Sign up”
  1. Input all the info => The button “Sign up” will light up => Click “Sign up”
  1. The page will re-direct to login page including the popup showing “Success” . Go to your email inputted in step 2 and check the mail received. (If you don’t see it, please check the Spam folder)
  1. Click “Verification Link” , it will re-direct to Login page (Your account has been verified ).
  1. Input your account info, it will go to the page to input your company info and payment info
  2. Section “Company Information” For which field have * , you have input the value

  1. Click “Next” , it will go to section “Payment Information” . For which field have * , you have input the value
  1. Click button “Submit” . The popup Agreement will appear. Scroll to the end and tick the checkbox “I have read and agreed to the Platform Service Agreement (PSA) and Privacy Policy“
  1. Click “Agree” . Your info has been submitted, and you can see an overview of your account.
  1. On this step, you need to wait for Ops Admin on the REHash system to approve your application. If your information has something wrong, they will Return or Reject your application with a reason.

Example: the application is invalid and the user has to edit the info

Example: The application was approved by Ops Admin (When you log in again, you will go into the REHash portal)

Public API Summary

How to use the PublicAPI Set “Authorization”: “Bearer {access_token}” Example:

1. Device Application

Create Device Application
  • Route: public/v2/device-applications/i-rec/grouped
  • Create the grouped device with devices and inverters information
Get Device Applications
  • Route: public/v2/device-applications
  • Get devices information
Get Device Applications Detail
  • Route: public/v2/device-applications/{deviceApplicationId}
  • Get device detail information
Get Device Information
  • Route: public/v2/device-applications/{deviceApplicationId}/devices
  • Get device and inverter information
Get Inverter Application Information
  • Route: public/v2/device-applications/inverters/applications
  • Get inverter application information

2. Documents

Create Document File
  • Route: public/v2/documents/grouped-devices
  • Create Document File Id

3. Inventory

Get Devices Inventory Information
  • Route: public/v2/inventories/devices
  • Get devices approved information
Get Recs Inventory Information
  • Route: public/v2/inventories/recs
  • Get recs inventory information
Get Recs Inventory Information by Advance Filter
  • Route: public/v2/inventories/recs/filter
  • Get recs inventory information by advance filter

4. Generation Data

Get Generation Data Information
  • Route: public/v2/generation-datas
  • Get generation data information
Send Generation Data Information
  • Route: [POST] public/v2/generation-datas
  • Push generation data for device
Send Batches Generation Data Information
  • Route: public/v2/generation-datas/batches
  • Push many generation data for device
Send Monthly Generation Data Information
  • Route: public/v2/generation-datas/monthly-data
  • Push monthly generation data for device

5. REC Application

Get Rec Issuance Application
  • Route: public/v2/rec-applications
  • Get recs issuance application
Get Rec Issuance Application Detail
  • Route: public/v2/rec-applications/{recApplicationId}
  • Get rec issuance application detail
Get Rec Transaction History
  • Route: public/v2/rec-transaction-history
  • Get rec transaction history
Create Rec Issuance Application
  • Route: public/v2/rec-applications/grouped-device
  • Create rec issuance application

6. Retirement Application

Get Retirement Application
  • Route: public/v2/retirement-applications
  • Get retirement application
Get Retirement Application Detail
  • Route: public/v2/retirement-applications/{retirementApplicationId}
  • Get retirement application detail
Get Beneficiaries Information
  • Route: public/v2/retirement-applications/beneficiaries
  • Get beneficiaries information
Get Beneficiaries Type
  • Route: public/v2/retirement-applications/beneficiaries/types
  • Get beneficiary type
Create Retirement Application
  • Route: [POST] public/v2/retirement-applications
  • Create retirement application
Create Beneficiaries Application
  • Route: [POST] public/v2/retirement-applications/beneficiaries
  • Create beneficiary information

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: account-id business account Id
  • Increment Condition: Any Request

Rate Limit Details

  1. Rate Limit by Key:

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

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

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

  2. Response Headers:

    a. 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

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
}

Grouped Device Integration Guideline

Grouped Device Terminology

Residual Mix Deadline

Owner Declaration Form (ODF)

Reference Province Codes

New Inverter request

Step 1: Upload ODF file for Devices.

Templates can be found here. ODF Form's templates

Upload the document using this API: [POST] Upload Document for Grouped Devices

Notes: ODF file must be send as pdf file

Step 2: Register and Group Device together

Using this API to register renewable devices and their inverters. Then adding those devices into 1 single grouped device.

Read more about Grouped Device terminology here: Grouped Device Terminology

Link to API document: [POST] Register Grouped Device Application

Notes:

  • 1 Grouped device must have max inverters as 500 inverters.
  • All of devices in 1 grouped device must be in same Province.
  • All of devices in 1 grouped device can have grid connection date or commission date in different years.
  • Each inverter must have max capacity as 0.25MW.
  • Each inverter has RemoteInvId this is unique id from the owner system. Using this id to push generation data.

Step 3: Pushing generation data to inverter by RemoteInvId

Using APIs to sending generation by RemoteInvId. There are 2 ways to sending generation data:

1. By single inverter: [POST] Send Generation Data for Grouped Device

2. By batch (multiple inverters): [POST] Send Batch Generation Data for Grouped Device

Notes: Each API has maximum records of generation data is 3,000 daily records.

Grouped Device Terminology

A grouped device container that holds multiple devices, each of which can contain one or multiple inverters.

Grouped Device Terminology

  • Registry supports I-REC
  • Fuel type: Group Solar Rooftop
  • Locations: SG, CN, VN, MY, ID, BR, MX
  • Generation data: required on inverter level.
  • Can contains multiple devices and their inverters.
  • Max number of all device’s inverters in the grouped device should not be greater than 500 inverters (this number is the current limit and can be changed or increased in the future).
    • Each device’s inverters’ total capacity must not greater than 0.25MW.

Residual Mix Deadline

There are two deadlines issuance every year: 31 May and 30 September. This means the earliest issuance date can be requested before 31 May this year is 1 January in the previous year. Similarly, the earliest effective registration date can be requested after 31 May this year but before 30 September this year is 1 July in the previous year.

For example, for submitting an issue request on 27 February 2024 (which is before 31 May 2024), the earliest possible claim issuance period date that can be requested is any date from 1 January 2023 onwards.

Please note that you cannot request issuance for power generated before the effective registration date.

More examples:

Issuance Request Submitted Month / Device Registration Submitted Month Earliest Possible Claim Issuance From
Jan-24 1st January 2023
Feb-24
Mar-24
Apr-24
May-24
Jun-24 1st July 2023
Jul-24
Aug-24
Sep-24
Oct-24 1st January 2024
Nov-24
Dec-24

Owner Declaration Form (ODF)

ODF Type

Description

File Template

Version

3 Parties ODF with Appendix A-B

Note: ODF must be in searchable PDF format (Able to search PDF content using Ctrl+F)

3 Parties ODF with Appendix A-B (EN & CN)

 

Sep 4, 2024

Version: v1.4

3 Parties ODF with Appendix A-B (EN & POR)

 

Nov 11, 2024

Version: v1.1

3 Parties ODF with Appendix A-B (EN & ESP)

 

Nov 11, 2024

Version: v1.1

3 Parties ODF with Appendix A-B (EN)

 

Sep 4, 2024

Version: v1.4

2 Parties ODF with Appendix A

Note: ODF must be in searchable PDF format (Able to search PDF content using Ctrl+F)

2 Parties ODF with Appendix A (EN & CN)

 

Sep 4, 2024

Version: v1.3

2 Parties ODF with Appendix A-B (EN & POR)

 

Nov 11, 2024

Version: v1.1

1 Parties ODF with Appendix A-B (EN & ESP)

 

Nov 11, 2024

Version: v1.1

2 Parties ODF with Appendix A (EN)

 

Sep 4, 2024

Version: v1.3

Reference Province Codes

1

Code

Country Code

Pin Yin

Province

Category

New Inverter request

Added new optional fields ( EffectiveStartDate, EffectiveEndDate, ReplacedByRemoteInvId ) for use when replacing faulty inverters.

Request

EffectiveStartDate (optional) text - format YYYY-MM-DD

Inverter’s effective start date.

Rule:

  • If this field is null or empty, then default value equal to device’s grid connection date;

  • Must be on or after the device’s grid connection date;

  • Cannot be the day in the future.

Datetime in format: YYYY-MM-DD

ex: 2023-01-10

EffectiveEndDate (optional) text - format YYYY-MM-DD

Inverter’s Effective End Date: The date set to indicate when the inverter has become inactive.

Rule:

  • Must be on or after the device’s grid connection date;

  • Must be after the inverter’s effective start date;

  • Cannot be the day in the future;

  • If the inverter has a value for the Effective End Date, it means the inverter is inactive; otherwise, it is active.

Datetime in format: YYYY-MM-DD

ex: 2024-01-10

ReplacedByRemoteInvId (optional) - text - max length (100)

Replaced By Remote Inverter Id

Rule:

  • Inverters must not have duplicate entries;

  • The replaced by remote inverter Id and the faulty remote inverter Id must belong to the same device;

  • The Effective End Date is required if the Replaced By Remote Inverter ID has a value.

  • If replaced by remote inverter Id is empty and Effective End Date has a value, then the inverter is in an inactive status during rehash and can be replaced in the future.

  • If replaced by remote inverter Id has a value, then the inverter is in a replaced status during rehash.

ex: INV1000000033862740

Business Scenarios

Scenario 1

If an inverter is damaged during use and has already generated power data but has not yet been registered in the REDEX system, it is allowed to replace the damaged inverter with a new one during the device registration process. After successful registration, the damaged inverter can still issue the generation data it has generated.

Flow

Flow

Example request

"Inverters": [
  // the faulty inverter
  {
    "RemoteInvId": "OldRM1000020003386274014",
    "ElectronicSerialNumber": "HW2343243244414",
    "BrandCode": "HW21",
    "OtherBrandName": "",
    "InstalledCapacity": 10.9,
    "EffectiveStartDate": "2022-01-01", 
    "EffectiveEndDate": "2024-02-01",   
    "ReplacedByRemoteInvId": "NewRM1000020898439275847"
  },
  // the replaced by inverter
  {
    "RemoteInvId": "NewRM1000020898439275847",
    "ElectronicSerialNumber": "HW8984392758437",
    "BrandCode": "HW21",
    "OtherBrandName": "",
    "InstalledCapacity": 9.9,
    "EffectiveStartDate": "2024-02-02"
  }
]

Scenario 2

If a registered inverter in the Redex system fails during use, you can replace and register a new inverter in the Rehash system. Please contact our operations team for assistance.


DeviceApplications

REDEX Public API supports multiple ways to register device to Registry. They are: REDEX 公众接口支持多种方式向注册中心注册设备。如下:

  • A device without connection created to pushing any generation data:

    • Registry supports: both I-REC and TIGR.
    • Fuel type: all fuel types.
    • Locations: all locations.
    • Capacity: all capacities.
    • Generation data: not required.
  • A device with connection created to pushing generation data.

    • Big device:
      • Registry supports: I-REC.
      • Fuel type: all fuel types.
      • Locations: all locations.
      • Capacity: all capacities.
      • Generation data: required on device level.
    • Grouped Device:
      • Registry supports: I-REC.
      • Fuel type: Group Solar Rooftop.
      • Locations: all locations.
      • Capacity: not greater than 500MW.
      • Generation data: required on device level.

Data Flow:

Data Flow

Upload document for digital devices:

[POST] Upload Document for Grouped Device

[GET] Get Grouped Device Application's devices and inverters

This endpoint allows get devices & inverters application.

Authorizations:
Bearer
path Parameters
deviceApplicationId
required
string <uuid>
query Parameters
OrderBy
string

Represents the field used to specify the ordering of the results.

IsDescending
string

Represents the sorting order for the query results.
It indicates whether the sorting should be in descending order (true) or ascending (false).

Search
string

Sets the search query used for filtering the results.

CurrentPage
string

Represents the current page number for paginated results.
This should be a positive whole number (e.g., 1, 2, 3, etc.).

ItemsPerPage
string

Represents the number of items per page for paginated results.
This should be a positive whole number (e.g., 10, 20, 50, etc.).

Responses

Response samples

Content type
application/json
{
  • "Data": [
    ],
  • "Meta": null,
  • "Errors": [
    ],
  • "StatusCode": 0,
  • "Message": "string"
}

[POST] Register Grouped Device Application

This endpoint allows register grouped device application.

Authorizations:
Bearer
Request Body schema:
CountryCode
required
string [ 0 .. 2 ] characters

2-character country alpha code. ISO-3166. Supported list below: Country Code i.e. SG, CN, VN, MY, ID

GroupedEnglishName
required
string [ 1 .. 255 ] characters

A Grouped Device's Name in English.

GroupedLocalName
required
string [ 1 .. 255 ] characters

A Grouped Device's Name in Local Language

Province
required
string [ 1 .. 20 ] characters

A Grouped Device's Province.

Timezone
string or null <= 50 characters

Time zone information.

GenerationDataFrequency
string or null

Grouped Device Generation Data Frequency on Grouped Device to indicate that this Grouped Device will send generation data by Daily or Monthly, default is Daily

Array of objects or null (PublicDeviceApplicationRequest)

A Grouped Device's devices

Responses

Request samples

Content type
{
  • "CountryCode": "CN",
  • "GroupedEnglishName": "Sun LM101",
  • "GroupedLocalName": "Sun LM101",
  • "Province": "CN-HN",
  • "Timezone": "UTC+08:00",
  • "GenerationDataFrequency": "Daily",
  • "Devices": [
    ]
}

Response samples

Content type
application/json
{
  • "Data": {
    },
  • "Meta": null,
  • "Errors": [
    ],
  • "StatusCode": 0,
  • "Message": "string"
}

[GET] Get Grouped Device Application's inverters

This endpoint allows get inverters application.

Authorizations:
Bearer
query Parameters
RemoteInverterIds
required
Array of strings

Required

Responses

Response samples

Content type
application/json
{
  • "Data": [
    ],
  • "Meta": null,
  • "Errors": [
    ],
  • "StatusCode": 0,
  • "Message": "string"
}

[GET] Query Device Application

This endpoint allows get devices application.

Authorizations:
Bearer
query Parameters
Registries
Array of strings (RegistryOption)
Items Enum: "IREC" "TIGR"
Example: Registries=TIGR&Registries=IREC

Filter the item by Registry Options

Status
string (PublicApiDeviceStatus)
Enum: "Unverified" "InProgress" "Approved" "Declined"

Filter the item by Status

CountryCodes
Array of strings
Example: CountryCodes=SG&CountryCodes=VN&CountryCodes=CN

Filter the items by Countries' codes
The codes are from ISO 3166-1 alpha-2 (Two letters country code)

Energies
Array of strings
Example: Energies=Biomass&Energies=Geothermal

Filter the items by aggregated fuel types without technology (called as energy), used to produce electricity.

DeviceTypes
Array of strings (DeviceType)
Items Enum: "Normal" "Aggregated" "RoofTop" "Grouped"
Example: DeviceTypes=Normal&DeviceTypes=Aggregated

Filter the items by the device type

OrderBy
string
IsDescending
boolean
Search
string
CurrentPage
integer <int32> [ 1 .. 21474836 ]
ItemsPerPage
integer <int32> [ 1 .. 100 ]

Responses

Response samples

Content type
application/json
{
  • "Data": [
    ],
  • "Meta": null,
  • "Errors": [
    ],
  • "StatusCode": 0,
  • "Message": "string"
}

[GET] Query Device Application by Application Id

This endpoint allows get device application by id.

Authorizations:
Bearer
path Parameters
deviceApplicationId
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "Data": {
    },
  • "Meta": null,
  • "Errors": [
    ],
  • "StatusCode": 0,
  • "Message": "string"
}

Documents

[POST] Upload Document for Grouped Devices

This endpoint allows uploading documents related to grouped devices.

Authorizations:
Bearer
Request Body schema: multipart/form-data
File
required
string <binary>

The file to upload. Supported formats: PDF, DOC, DOCX, XLS, XLSX.

Responses

Response samples

Content type
application/json
{
  • "Data": {
    },
  • "Meta": null,
  • "Errors": [
    ],
  • "StatusCode": 0,
  • "Message": "string"
}

[GET] GET Grouped Devices Document by Id

This endpoint allows getting documents related to grouped devices by Id.

Authorizations:
Bearer
path Parameters
fileId
required
string <uuid>
query Parameters
ValidationCode
string
Example: ValidationCode=jiore7nnejkek

Validation code returned one time after uploading successfully on API upload.
Important Note: for old uploaded file, please leave this parameter as empty.

Responses

Response samples

Content type
application/json
{}

GenerationData

[GET] Query Generation Data

This endpoint gets daily/monthly generation data.

Authorizations:
Bearer
query Parameters
FrequencyType
required
string
Example: FrequencyType=Daily

The type of frequency (i.e., Daily, Weekly, Monthly) for data retrieval
For Inverter level, only support Daily Frequency

RemoteInvId
string
Example: RemoteInvId=UNIQ8888888

This refers to a unique identifier assigned to inverter

DeviceId
string <uuid>
Example: DeviceId=6371BDFF-AB5B-4DBE-103E-08DC59D2773C

Optional

FromDate
required
string
Default: "YYYY-MM-DD"
Example: FromDate=2023-03-01

The start date for data retrieval in the format 'YYYY-MM-DD'

ToDate
required
string
Default: "YYYY-MM-DD"
Example: ToDate=2023-05-01

The end date for data retrieval in the format 'YYYY-MM-DD'

OrderBy
string

Represents the field used to specify the ordering of the results.

IsDescending
string

Represents the sorting order for the query results.
It indicates whether the sorting should be in descending order (true) or ascending (false).

Search
string

Sets the search query used for filtering the results.

CurrentPage
string

Represents the current page number for paginated results.
This should be a positive whole number (e.g., 1, 2, 3, etc.).

ItemsPerPage
string

Represents the number of items per page for paginated results.
This should be a positive whole number (e.g., 10, 20, 50, etc.).

Responses

Response samples

Content type
application/json
{
  • "Data": [
    ],
  • "Meta": null,
  • "Errors": [
    ],
  • "StatusCode": 0,
  • "Message": "string"
}

[POST] Send Generation Data for Grouped Device

This endpoint submits generation data for a grouped device.

Authorizations:
Bearer
Request Body schema:
RemoteInvId
required
string [ 0 .. 100 ] characters

This refers to a unique identifier assigned to an inverter.

required
Array of objects (DailyDataRequest)

This refers to data generation at a particular frequency type
Maximum generation data received per request payload: 3000 records

Responses

Request samples

Content type
{
  • "RemoteInvId": "STR10000000338444",
  • "Data": [
    ]
}

Response samples

Content type
application/json
{
  • "Data": {
    },
  • "Meta": null,
  • "Errors": [
    ],
  • "StatusCode": 0,
  • "Message": "string"
}

[POST] Send Batch Generation Data for Grouped Device

This endpoint retrieves generation data of multiple inverters.

Authorizations:
Bearer
Request Body schema:
required
Array of objects (InverterDailyGenerationDataRequest)

This refers to data generation for daily data of multiple devices
Maximum generation of all devices received per request payload: 3000 records

Responses

Request samples

Content type
{
  • "Devices": [
    ]
}

Response samples

Content type
application/json
{
  • "Data": {
    },
  • "Meta": null,
  • "Errors": [
    ],
  • "StatusCode": 0,
  • "Message": "string"
}

[POST] Send Monthly Generation Data for Grouped Device

This endpoint submits monthly generation data for a grouped device.

Authorizations:
Bearer
Request Body schema:
Array
RemoteInvId
required
string [ 0 .. 100 ] characters

This refers to a unique identifier assigned to an inverter.

required
object (MonthlyDataRequest)

Responses

Request samples

Content type
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "Data": {
    },
  • "Meta": null,
  • "Errors": [
    ],
  • "StatusCode": 0,
  • "Message": "string"
}

[GET] Get Generation Data Process Status

This API are designed for you to be able to query your process’s status that is processing your sending generation data.

Authorizations:
Bearer
query Parameters
ProcessId
required
integer <int64>
Example: ProcessId=2024

A Process unique identifier

Responses

Response samples

Content type
application/json
{
  • "Data": {
    },
  • "Meta": null,
  • "Errors": [
    ],
  • "StatusCode": 0,
  • "Message": "string"
}

[GET] Query Sum of Daily/Monthly Period Product Energy

This endpoint gets sum of daily/monthly generation data in specified period.

Authorizations:
Bearer
path Parameters
rehashDeviceId
required
string <uuid>
query Parameters
VintageFrom
required
string

The Date/Month of vintage start
For device with Daily frequency will accept date format 'yyyy-MM-dd'
For device with Monthly frequency will accept month format 'yyyy-MM'

VintageTo
required
string

The Date/Month of vintage end
For device with Daily frequency will accept date format 'yyyy-MM-dd'
For device with Monthly frequency will accept month format 'yyyy-MM'

Responses

Response samples

Content type
application/json
{
  • "Data": {
    },
  • "Meta": null,
  • "Errors": [
    ],
  • "StatusCode": 0,
  • "Message": "string"
}

MetaData

[GET] Query Inverter Brands

This endpoint gets all inverter brands collection. Using this data to register grouped device�s devices' inverters.

Authorizations:
Bearer
query Parameters
Code
string
Example: Code=AB01

Inverter's Brand Code

IsPagination
string
Example: IsPagination=true

A flag indicating whether pagination is enabled for the response data.
The value should be either 'true' or 'false'.

OrderBy
string

Represents the field used to specify the ordering of the results.

IsDescending
string

Represents the sorting order for the query results.
It indicates whether the sorting should be in descending order (true) or ascending (false).

Search
string

Sets the search query used for filtering the results.

CurrentPage
string

Represents the current page number for paginated results.
This should be a positive whole number (e.g., 1, 2, 3, etc.).

ItemsPerPage
string

Represents the number of items per page for paginated results.
This should be a positive whole number (e.g., 10, 20, 50, etc.).

Responses

Response samples

Content type
application/json
{
  • "Data": [
    ],
  • "Meta": null,
  • "Errors": [
    ],
  • "StatusCode": 0,
  • "Message": "string"
}

[GET] GET Fuel Types

This endpoint allow user to get Fuel Types with filter. This Fuel Type will be used afterward.

Authorizations:
Bearer
query Parameters
FuelKind
string
Example: FuelKind=Solar

Fuel Kind mapping to RedexFuelName

FuelName
string
Example: FuelName=Solar

Fuel name mapping value

Registry
string (RegistryOption)
Enum: "IREC" "TIGR"
Example: Registry=IREC

Registry Enum values

OrderBy
string

Represents the field used to specify the ordering of the results.

IsDescending
string

Represents the sorting order for the query results.
It indicates whether the sorting should be in descending order (true) or ascending (false).

Search
string

Sets the search query used for filtering the results.

CurrentPage
string

Represents the current page number for paginated results.
This should be a positive whole number (e.g., 1, 2, 3, etc.).

ItemsPerPage
string

Represents the number of items per page for paginated results.
This should be a positive whole number (e.g., 10, 20, 50, etc.).

Responses

Response samples

Content type
application/json
{
  • "Data": [
    ],
  • "Meta": null,
  • "Errors": [
    ],
  • "StatusCode": 0,
  • "Message": "string"
}

[GET] GET I-REC Technologies

This endpoint allow user to get I-REC Technologies with filter for future use.

Authorizations:
Bearer
query Parameters
FuelName
string
Example: FuelName=Biogas

Fuel name mapping value

FuelKind
string
Example: FuelKind=Biogas: Landfill gas

Fuel Kind mapping to RedexFuelName in Fuel Types

FuelKindCode
string
Example: FuelKindCode=ES710

Fuel Kind Code

OrderBy
string

Represents the field used to specify the ordering of the results.

IsDescending
string

Represents the sorting order for the query results.
It indicates whether the sorting should be in descending order (true) or ascending (false).

Search
string

Sets the search query used for filtering the results.

CurrentPage
string

Represents the current page number for paginated results.
This should be a positive whole number (e.g., 1, 2, 3, etc.).

ItemsPerPage
string

Represents the number of items per page for paginated results.
This should be a positive whole number (e.g., 10, 20, 50, etc.).

Responses

Response samples

Content type
application/json
{
  • "Data": [
    ],
  • "Meta": null,
  • "Errors": [
    ],
  • "StatusCode": 0,
  • "Message": "string"
}

Accounts

[GET] Query Account Profile

This endpoint allows user to get their account information.

Authorizations:
Bearer

Responses

Response samples

Content type
application/json
{
  • "Data": {
    },
  • "Meta": null,
  • "Errors": [
    ],
  • "StatusCode": 0,
  • "Message": "string"
}

[GET] Query Account Profiles

This endpoint allows user to get their accounts information.

Authorizations:
Bearer
query Parameters
AccountType
string (AccountType)
Enum: "Normal" "Premium"
OrderBy
string

Represents the field used to specify the ordering of the results.

IsDescending
string

Represents the sorting order for the query results.
It indicates whether the sorting should be in descending order (true) or ascending (false).

Search
string

Sets the search query used for filtering the results.

CurrentPage
string

Represents the current page number for paginated results.
This should be a positive whole number (e.g., 1, 2, 3, etc.).

ItemsPerPage
string

Represents the number of items per page for paginated results.
This should be a positive whole number (e.g., 10, 20, 50, etc.).

Responses

Response samples

Content type
application/json
{
  • "Data": [
    ],
  • "Meta": null,
  • "Errors": [
    ],
  • "StatusCode": 0,
  • "Message": "string"
}

[GET] Query Account Profile Documents

This endpoint allows user to get their account's document.

Authorizations:
Bearer

Responses

Response samples

Content type
application/json
{}

Debt

[GET] Get Business Account Fees

This endpoint allows user to get the business account’s Fees.

Authorizations:
Bearer
query Parameters
Statuses
Array of strings (DebtStatus)
Items Enum: "Unpaid" "Paid" "ToBeCollected"
Example: Statuses=Unpaid&Statuses=Paid

Statuses

Currencies
Array of strings
Example: Currencies=USD

Currencies

FeeCodes
Array of strings (FeeCodeType)
Items Enum: "ASRG" "RECR" "QREV" "RECL" "RECB" "RECT" "RECRA" "RECRS" "RECTO" "RECTPO" "RECTPI" "ASRD" "RECG" "GASRG" "GRECR"
Example: FeeCodes=RECR

Fee Codes

OrderBy
string

Represents the field used to specify the ordering of the results.

IsDescending
string

Represents the sorting order for the query results.
It indicates whether the sorting should be in descending order (true) or ascending (false).

Search
string

Sets the search query used for filtering the results.

CurrentPage
string

Represents the current page number for paginated results.
This should be a positive whole number (e.g., 1, 2, 3, etc.).

ItemsPerPage
string

Represents the number of items per page for paginated results.
This should be a positive whole number (e.g., 10, 20, 50, etc.).

Responses

Response samples

Content type
application/json
{
  • "Data": [
    ],
  • "Meta": null,
  • "Errors": [
    ],
  • "StatusCode": 0,
  • "Message": "string"
}

[GET] Get Business Account Debt Detail

This endpoint allows user to get the business account’s Fee details.

Authorizations:
Bearer
path Parameters
debtId
required
string

Responses

Response samples

Content type
application/json
{
  • "Data": {
    },
  • "Meta": null,
  • "Errors": [
    ],
  • "StatusCode": 0,
  • "Message": "string"
}

Fees

[GET] Query Account Fee Agreements

This endpoint allows user to get account's pricing.

Authorizations:
Bearer
query Parameters
Registry
string (RegistryOption)
Enum: "IREC" "TIGR"
Example: Registry=IREC

REC of the Registry

Responses

Response samples

Content type
application/json
{
  • "Data": {
    },
  • "Meta": null,
  • "Errors": [
    ],
  • "StatusCode": 0,
  • "Message": "string"
}

Invoices

[GET] Query Invoices

This endpoint allows user to get their invoice.

Authorizations:
Bearer
query Parameters
Statuses
Array of strings (ClientInvoiceStatus)
Items Enum: "Unpaid" "WaitingForConfirm" "Paid" "Expired" "Cancelled" "Refunded" "PartialPayment" "PartialPaid" "PaymentFollowUp" "OfflineManual"
Example: Statuses=Unpaid&Statuses=Paid

Client Invoice Statuses

Status
string (ClientInvoiceStatus)
Enum: "Unpaid" "WaitingForConfirm" "Paid" "Expired" "Cancelled" "Refunded" "PartialPayment" "PartialPaid" "PaymentFollowUp" "OfflineManual"
Example: Status=Unpaid

Client Invoice Status

TransactionType
string (TransactionType)
Enum: "AccountsPayable" "AccountsReceivable"
Example: TransactionType=AccountsPayable

Transaction Type

OrderBy
string

Represents the field used to specify the ordering of the results.

IsDescending
string

Represents the sorting order for the query results.
It indicates whether the sorting should be in descending order (true) or ascending (false).

Search
string

Sets the search query used for filtering the results.

CurrentPage
string

Represents the current page number for paginated results.
This should be a positive whole number (e.g., 1, 2, 3, etc.).

ItemsPerPage
string

Represents the number of items per page for paginated results.
This should be a positive whole number (e.g., 10, 20, 50, etc.).

Responses

Response samples

Content type
application/json
{
  • "Data": [
    ],
  • "StatusCode": "Continue",
  • "Code": "string",
  • "Message": "string"
}

[GET] Query Invoice Detail

This endpoint allows user to get their invoice by invoice number.

Authorizations:
Bearer
path Parameters
invoiceNumber
required
string

Responses

Response samples

Content type
application/json
{
  • "Data": {
    },
  • "StatusCode": "Continue",
  • "Code": "string",
  • "Message": "string"
}

Payments

[GET] Query Account Payment Information

This endpoint allows user to get account's payment informations.

Authorizations:
Bearer
query Parameters
IsActive
boolean
OrderBy
string

Represents the field used to specify the ordering of the results.

IsDescending
string

Represents the sorting order for the query results.
It indicates whether the sorting should be in descending order (true) or ascending (false).

Search
string

Sets the search query used for filtering the results.

CurrentPage
string

Represents the current page number for paginated results.
This should be a positive whole number (e.g., 1, 2, 3, etc.).

ItemsPerPage
string

Represents the number of items per page for paginated results.
This should be a positive whole number (e.g., 10, 20, 50, etc.).

Responses

Response samples

Content type
application/json
{
  • "Data": [
    ],
  • "Meta": null,
  • "Errors": [
    ],
  • "StatusCode": 0,
  • "Message": "string"
}

RecApplications

[GET] Query REC applications

This endpoint allows get rec applications.

Authorizations:
Bearer
query Parameters
Registries
Array of strings (RegistryOption)
Items Enum: "IREC" "TIGR"
Example: Registries=TIGR&Registries=IREC

Optional: REC of the Registry

CountryCodes
Array of strings
Example: CountryCodes=SG&CountryCodes=VN&CountryCodes=CN

Optional: Country alpha 2 code (ISO 3166-2)

Energies
Array of strings

Optional: Energy values of the Registry

Statuses
Array of strings (RecClientStatus)
Items Enum: "Draft" "InProgress" "ToReSubmit" "Approved" "Rejected" "Withdrawn"
Example: Statuses=Draft

Optional: Filter the item by Status

DeviceIds
Array of strings <uuid> [ items <uuid > ]
DeviceId
string <uuid>
DeviceTypes
Array of strings (DeviceType)
Items Enum: "Normal" "Aggregated" "RoofTop" "Grouped"
OrderBy
string
IsDescending
boolean
Search
string
CurrentPage
integer <int32> [ 1 .. 21474836 ]
ItemsPerPage
integer <int32> [ 1 .. 100 ]

Responses

Response samples

Content type
application/json
{
  • "Data": {
    },
  • "Meta": null,
  • "Errors": [
    ],
  • "StatusCode": 0,
  • "Message": "string"
}

[POST] Create REC Application for Grouped Device

This endpoint allows create rec application for grouped device.

Authorizations:
Bearer
Request Body schema:
VintageFrom
required
string
Default: "YYYY-MM-DD"

The start date of the vintage period for the application.

VintageTo
required
string
Default: "YYYY-MM-DD"

The end date of the vintage period for the application.

DeviceId
string or null <uuid>

The unique identifier for the device associated with the application.

Quantity
number or null <double> <= 999999.999999

The quantity associated with the registration, such as the amount of energy or items involved.
The value must be between 0.000001 and 999,999.999999 with a precision of 6 decimal places.

Responses

Request samples

Content type
{
  • "VintageFrom": "YYYY-MM-DD",
  • "VintageTo": "YYYY-MM-DD",
  • "DeviceId": "90849055-5bc5-42d7-ae81-a3806b959be8",
  • "Quantity": 999999.999999
}

Response samples

Content type
application/json
{
  • "Data": {
    },
  • "Meta": null,
  • "Errors": [
    ],
  • "StatusCode": 0,
  • "Message": "string"
}

RetirementApplications

[GET] Query retirement applications

This endpoint allows user to get their retirement applications.

Authorizations:
Bearer
query Parameters
Registries
Array of strings (RegistryOption)
Items Enum: "IREC" "TIGR"
Example: Registries=TIGR&Registries=IREC

Filter the items by Registry Value

CountryCodes
Array of strings
Example: CountryCodes=SG&CountryCodes=VN&CountryCodes=CN

Filter the items by Country Code Value

Energies
Array of strings

Filter the items by Energy Value

Statuses
Array of strings (RetirementStatus)
Items Enum: "InProgress" "WaitingForPayment" "Returned" "Cancelled" "Rejected" "Completed"
Example: Statuses=InProgress&Statuses=WaitingForPayment&Statuses=Cancelled

Filter the items by Status Value

OrderBy
string

Represents the field used to specify the ordering of the results.

IsDescending
string

Represents the sorting order for the query results.
It indicates whether the sorting should be in descending order (true) or ascending (false).

Search
string

Sets the search query used for filtering the results.

CurrentPage
string

Represents the current page number for paginated results.
This should be a positive whole number (e.g., 1, 2, 3, etc.).

ItemsPerPage
string

Represents the number of items per page for paginated results.
This should be a positive whole number (e.g., 10, 20, 50, etc.).

Responses

Response samples

Content type
application/json
{
  • "Data": [
    ],
  • "Meta": null,
  • "Errors": [
    ],
  • "StatusCode": 0,
  • "Message": "string"
}

[POST] Create Retirement Application

This endpoint allows user to create retirement application.

Authorizations:
Bearer
Request Body schema:
BeneficiaryId
required
string <uuid>

Beneficiary Unique Identifier

VintageYear
integer or null <int32>

Year Redemption

Quantity
required
number <double> <= 9999999.999999

Quantity Redemption

Reason
required
string <= 500 characters

Reason Redemption

Registry
required
string (RegistryOption)
Enum: "IREC" "TIGR"
Countries
Array of strings or null

Filter available RECs by Country Value. 2-character country alpha code. ISO-3166

EnergyValues
Array of strings or null

Filter available RECs by Energy Value.

ConsumptionStartTime
string <date-time>

Consumption period's start time

ConsumptionEndTime
string <date-time>

Consumption period's end time

Array of objects or null (PublicCreateRetirementApplicationRecItemRequest)

RECs Items

Responses

Request samples

Content type
{
  • "BeneficiaryId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  • "VintageYear": 2023,
  • "Quantity": 10,
  • "Reason": "string",
  • "Registry": "IREC",
  • "Countries": [
    ],
  • "EnergyValues": [
    ],
  • "ConsumptionStartTime": "2023-01-01T00:01:00Z",
  • "ConsumptionEndTime": "2023-01-31T00:01:00Z",
  • "RecItems": [
    ]
}

Response samples

Content type
application/json
{
  • "Data": {
    },
  • "Meta": null,
  • "Errors": [
    ],
  • "StatusCode": 0,
  • "Message": "string"
}

[GET] Get retirement application detail

This endpoint allows user to get their retirement application detail.

Authorizations:
Bearer
path Parameters
retirementApplicationId
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "Data": {
    },
  • "Meta": null,
  • "Errors": [
    ],
  • "StatusCode": 0,
  • "Message": "string"
}

[GET] Get beneficiary's types

This endpoint allows user to get all beneficiaries types.

Authorizations:
Bearer

Responses

Response samples

Content type
application/json
{
  • "Data": [
    ],
  • "Meta": null,
  • "Errors": [
    ],
  • "StatusCode": 0,
  • "Message": "string"
}

[GET] Get retirement beneficiaries

This endpoint allows user to get all beneficiaries.

Authorizations:
Bearer
query Parameters
Search
string

Sets the search query used for filtering the results.

CurrentPage
string

Represents the current page number for paginated results.
This should be a positive whole number (e.g., 1, 2, 3, etc.).

ItemsPerPage
string

Represents the number of items per page for paginated results.
This should be a positive whole number (e.g., 10, 20, 50, etc.).

OrderBy
string

Represents the field used to specify the ordering of the results.

IsDescending
string

Represents the sorting order for the query results.
It indicates whether the sorting should be in descending order (true) or ascending (false).

Responses

Response samples

Content type
application/json
{
  • "Data": [
    ],
  • "Meta": null,
  • "Errors": [
    ],
  • "StatusCode": 0,
  • "Message": "string"
}

[POST] Create retirement beneficiary

This endpoint allows user to create retirement beneficiary.

Authorizations:
Bearer
Request Body schema:
BeneficiaryType
string (BeneficiaryType)
Enum: "Corporate" "Building" "Personal"
BeneficiaryName
required
string <= 150 characters

Beneficiary name. The name is used to appear on the Renewable Energy certificate.

CountryCode
required
string [ 0 .. 2 ] characters

2-character country alpha code. ISO-3166

CorporateName
string or null <= 150 characters

Corporate name. This will be required when choose Beneficiary Type as Corporate

CorporateAddress
string or null <= 255 characters

Corporate address. This will be required when choose Beneficiary Type as Corporate

BuildingOwnerName
string or null <= 150 characters

Building Owner Name

BuildingName
string or null <= 150 characters

Building name. This will be required when choose Beneficiary Type as Building

BuildingAddress
string or null <= 255 characters

Building address. This will be required when choose Beneficiary Type as Building

PersonalName
string or null <= 150 characters

Personal name. This will be required when choose Beneficiary Type as Personal

PersonalAddress
string or null <= 255 characters

Personal address. This will be required when choose Beneficiary Type as Personal

Responses

Request samples

Content type
{
  • "BeneficiaryType": "Corporate",
  • "BeneficiaryName": "Redex Company",
  • "CountryCode": "SG",
  • "CorporateName": "",
  • "CorporateAddress": "Blk 71 Ayer Rajah Crescent#06-15 Singapore 139951",
  • "BuildingOwnerName": "HN",
  • "BuildingName": "Us Building",
  • "BuildingAddress": "Blk 71 Ayer Rajah Crescent#06-15 Singapore 139951",
  • "PersonalName": "Hao Nguyen",
  • "PersonalAddress": "Blk 71 Ayer Rajah Crescent#06-15 Singapore 139951"
}

Response samples

Content type
application/json
{
  • "Data": {
    },
  • "Meta": null,
  • "Errors": [
    ],
  • "StatusCode": 0,
  • "Message": "string"
}

ExchangeSpot

[GET] Get Spot exchange ticker info

This endpoint allows get TickerId with filter criteria. This TickerId will be used afterward.

Authorizations:
Bearer
query Parameters
CountryCode
required
string = 2 characters
Example: CountryCode=MY

Country Alpha Two Code

Vintage
required
integer <int32>
Example: Vintage=2024

Vintage year

FuelType
required
string
Example: FuelType=Solar

Fuel’s Energy types

Registry
string (Registry)
Enum: "IREC" "TIGR" "GEC"
Example: Registry=IREC

Registry enum values

TimePeriod
string
Example: TimePeriod=1H

TimePeriod enum values

Responses

Response samples

Content type
application/json
{
  • "Data": {
    },
  • "Meta": null,
  • "Errors": [
    ],
  • "StatusCode": 0,
  • "Message": "string"
}

[GET] Get Spot exchange tickers

This endpoint allows get current available tickers with highest bid and lowest offer.

Authorizations:
Bearer
query Parameters
MarketId
required
integer <int32> [ 1 .. 2147483647 ]
Example: MarketId=1

Market unique id

OrderBy
string

Represents the field used to specify the ordering of the results.

IsDescending
string

Represents the sorting order for the query results.
It indicates whether the sorting should be in descending order (true) or ascending (false).

Search
string

Sets the search query used for filtering the results.

CurrentPage
string

Represents the current page number for paginated results.
This should be a positive whole number (e.g., 1, 2, 3, etc.).

ItemsPerPage
string

Represents the number of items per page for paginated results.
This should be a positive whole number (e.g., 10, 20, 50, etc.).

Responses

Response samples

Content type
application/json
{
  • "Data": [
    ],
  • "Meta": null,
  • "Errors": [
    ],
  • "StatusCode": 0,
  • "Message": "string"
}

[GET] Get Spot exchange fat finger limit

This endpoint allows get fat-finger limit information on spot exchange depend on CountryCode.

Authorizations:
Bearer
query Parameters
CountryCode
required
string = 2 characters
Example: CountryCode=MY

Country Alpha Two Code

MarketId
required
integer <int32> [ 1 .. 2147483647 ]
Example: MarketId=1

Market unique id

Responses

Response samples

Content type
application/json
{
  • "Data": {
    },
  • "Meta": null,
  • "Errors": [
    ],
  • "StatusCode": 0,
  • "Message": "string"
}

[GET] Get Spot exchange ticker depth

This endpoint allows get market available orders with particular ticker, and side.

Authorizations:
Bearer
query Parameters
MarketId
required
integer <int32> [ 1 .. 2147483647 ]
Example: MarketId=1

Market unique id

TickerId
required
string
Example: TickerId=MY.24.SLR.i

Ticker unique id

Side
string (OrderSide)
Enum: "Sell" "Buy"
Example: Side=Buy

Order Side

OrderBy
string

Represents the field used to specify the ordering of the results.

IsDescending
string

Represents the sorting order for the query results.
It indicates whether the sorting should be in descending order (true) or ascending (false).

Search
string

Sets the search query used for filtering the results.

CurrentPage
string

Represents the current page number for paginated results.
This should be a positive whole number (e.g., 1, 2, 3, etc.).

ItemsPerPage
string

Represents the number of items per page for paginated results.
This should be a positive whole number (e.g., 10, 20, 50, etc.).

Responses

Response samples

Content type
application/json
{
  • "Data": [
    ],
  • "Meta": null,
  • "Errors": [
    ],
  • "StatusCode": 0,
  • "Message": "string"
}

[GET] GET Spot exchange limit orders

This endpoint allows get their orders with particular ticker.

Authorizations:
Bearer
query Parameters
MarketId
required
integer <int32> [ 1 .. 2147483647 ]
Example: MarketId=1

Market unique id

TickerId
required
string
Example: TickerId=MY.24.GTM.t

Ticker Unique Identifier

Status
string (OrderStatus)
Enum: "Active" "Completed" "Cancelled"
Example: Status=Active

Order status

Side
string (OrderSide)
Enum: "Sell" "Buy"
Example: Side=Buy

Order Side

OrderBy
string

Represents the field used to specify the ordering of the results.

IsDescending
string

Represents the sorting order for the query results.
It indicates whether the sorting should be in descending order (true) or ascending (false).

Search
string

Sets the search query used for filtering the results.

CurrentPage
string

Represents the current page number for paginated results.
This should be a positive whole number (e.g., 1, 2, 3, etc.).

ItemsPerPage
string

Represents the number of items per page for paginated results.
This should be a positive whole number (e.g., 10, 20, 50, etc.).

Responses

Response samples

Content type
application/json
{
  • "Data": [
    ],
  • "Meta": null,
  • "Errors": [
    ],
  • "StatusCode": 0,
  • "Message": "string"
}

[POST] Create Spot exchange limit orders

This endpoint allows user to place buy / sell orders with particular ticker Body.

Authorizations:
Bearer
Request Body schema:
TickerId
required
string non-empty

Ticker Unique Identifier

DeliveryType
required
string (DeliveryType)
Enum: "Spot" "ForwardContract"
Quantity
required
number <double> >= 1

Order quantity.

Price
required
number <double> >= 0.01

Order price.

OrderSide
required
string (OrderSide)
Enum: "Sell" "Buy"
MarketId
required
integer <int32> [ 1 .. 2147483647 ]

Market unique id

Responses

Request samples

Content type
{
  • "TickerId": "MY.24.GTM.t",
  • "DeliveryType": "Spot",
  • "Quantity": 10.012123,
  • "Price": 5,
  • "OrderSide": "Sell",
  • "MarketId": 1
}

Response samples

Content type
application/json
{
  • "Data": {
    },
  • "Meta": null,
  • "Errors": [
    ],
  • "StatusCode": 0,
  • "Message": "string"
}

[GET] GET Spot exchange transactions

This endpoint allows get their transaction.

Authorizations:
Bearer
query Parameters
Statuses
Array of strings
Example: Statuses=Pending

Order Statuses

Sides
Array of strings (OrderSide)
Items Enum: "Sell" "Buy"
Example: Sides=Buy

Order Sides

Types
Array of strings (OrderType)
Items Value: "Limit"
Example: Types=Limit

Order Types

TIFs
Array of strings
Example: TIFs=GoodTilCancel

Time In Force

MarketIds
Array of integers <int32> [ items <int32 > ]
Example: MarketIds=1&MarketIds=2

Market Ids

OrderBy
string

Represents the field used to specify the ordering of the results.

IsDescending
string

Represents the sorting order for the query results.
It indicates whether the sorting should be in descending order (true) or ascending (false).

Search
string

Sets the search query used for filtering the results.

CurrentPage
string

Represents the current page number for paginated results.
This should be a positive whole number (e.g., 1, 2, 3, etc.).

ItemsPerPage
string

Represents the number of items per page for paginated results.
This should be a positive whole number (e.g., 10, 20, 50, etc.).

Responses

Response samples

Content type
application/json
{
  • "Data": [
    ],
  • "Meta": null,
  • "Errors": [
    ],
  • "StatusCode": 0,
  • "Message": "string"
}

[GET] GET Spot exchange transaction detail

This endpoint allows get their transaction detail.

Authorizations:
Bearer
path Parameters
transactionId
required
integer <int64>

Responses

Response samples

Content type
application/json
{
  • "Data": {
    },
  • "Meta": null,
  • "Errors": [
    ],
  • "StatusCode": 0,
  • "Message": "string"
}

[POST] Create Spot exchange limit orders with advance filter

This endpoint allows user to place buy / sell orders with advance filter.

Authorizations:
Bearer
Request Body schema:
object (AdvanceFilter)
TickerId
required
string non-empty

Ticker Unique Identifier

OrderSide
string (OrderSide)
Enum: "Sell" "Buy"
Quantity
number or null <double> >= 0.01

Order quantity

Price
number or null <double> >= 0.01

Order Price

MarketId
required
integer <int32> [ 1 .. 2147483647 ]

Market unique id

Responses

Request samples

Content type
{
  • "AdvanceFilters": {
    },
  • "TickerId": "VN.24.SLR.i",
  • "OrderSide": "Sell",
  • "Quantity": 1,
  • "Price": 31,
  • "MarketId": 1
}

Response samples

Content type
application/json
{
  • "Data": {
    },
  • "Meta": null,
  • "Errors": [
    ],
  • "StatusCode": 0,
  • "Message": "string"
}

[DELETE] Cancel Spot exchanges limit orders

This endpoint allows user to cancel buy/ sell orders with particular ticker Body.

Authorizations:
Bearer
path Parameters
orderId
required
integer <int64>

Responses

Response samples

Content type
application/json
{
  • "Data": {
    },
  • "Meta": null,
  • "Errors": [
    ],
  • "StatusCode": 0,
  • "Message": "string"
}

[GET] Get Spot exchanges markets

Authorizations:
Bearer

Responses

Response samples

Content type
application/json
{
  • "Data": [
    ],
  • "Meta": null,
  • "Errors": [
    ],
  • "StatusCode": 0,
  • "Message": "string"
}

Inventories

[GET] Get Device Inventory

This endpoint allows get device inventory.

Authorizations:
Bearer
query Parameters
Registries
Array of strings (RegistryOption)
Items Enum: "IREC" "TIGR"
Example: Registries=IREC

Registry values

OrderBy
string

Represents the field used to specify the ordering of the results.

IsDescending
string

Represents the sorting order for the query results.
It indicates whether the sorting should be in descending order (true) or ascending (false).

Search
string

Sets the search query used for filtering the results.

CurrentPage
string

Represents the current page number for paginated results.
This should be a positive whole number (e.g., 1, 2, 3, etc.).

ItemsPerPage
string

Represents the number of items per page for paginated results.
This should be a positive whole number (e.g., 10, 20, 50, etc.).

Responses

Response samples

Content type
application/json
{
  • "Data": [
    ],
  • "Meta": null,
  • "Errors": [
    ],
  • "StatusCode": 0,
  • "Message": "string"
}

[GET] Get Device Inventory's Detail

This endpoint allows get device inventory detail.

Authorizations:
Bearer
path Parameters
deviceId
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "Data": {
    },
  • "Meta": null,
  • "Errors": [
    ],
  • "StatusCode": 0,
  • "Message": "string"
}

[GET] Query REC Transaction Histories

This endpoint allows get rec transaction histories.

Authorizations:
Bearer
query Parameters
DeviceId
string <uuid>
Example: DeviceId=fe90e021-5939-42a0-b40c-9e006019fcf5

Device unique identifier for approved Device or Grouped Device

Types
Array of strings (RecTransactionType)
Items Enum: "Issuance" "Transfer" "Listing" "Retirement" "Delisting"
Example: Types=Issuance&Types=Transfer

Transaction enum value types

Registry
string (RegistryOption)
Enum: "IREC" "TIGR"
Example: Registry=IREC

Registry value (IREC, TIGR)

CountryCodes
Array of strings
Example: CountryCodes=VN&CountryCodes=CN

Country alpha codes, ISO3166 (VN, CN, …)

OrderBy
string

Represents the field used to specify the ordering of the results.

IsDescending
string

Represents the sorting order for the query results.
It indicates whether the sorting should be in descending order (true) or ascending (false).

Search
string

Sets the search query used for filtering the results.

CurrentPage
string

Represents the current page number for paginated results.
This should be a positive whole number (e.g., 1, 2, 3, etc.).

ItemsPerPage
string

Represents the number of items per page for paginated results.
This should be a positive whole number (e.g., 10, 20, 50, etc.).

Responses

Response samples

Content type
application/json
{
  • "Data": [
    ],
  • "Meta": null,
  • "Errors": [
    ],
  • "StatusCode": 0,
  • "Message": "string"
}

[POST] Query REC Inventory with Advance Filter

This endpoint allows get rec inventory with advance filter.

Authorizations:
Bearer
Request Body schema:
Search
string or null

Sets the search query used for filtering the results.

CurrentPage
string or null

Represents the current page number for paginated results.
This should be a positive whole number (e.g., 1, 2, 3, etc.).

ItemsPerPage
string or null

Represents the number of items per page for paginated results.
This should be a positive whole number (e.g., 10, 20, 50, etc.).

OrderBy
string or null

Represents the field used to specify the ordering of the results.

IsDescending
string or null

Represents the sorting order for the query results.
It indicates whether the sorting should be in descending order (true) or ascending (false).

Registries
Array of strings or null

Filter the items by Registry Value

DeviceIds
Array of strings or null <uuid>

Array uuid of Device unique identifier

object (AdvanceFilterRequest)

Responses

Request samples

Content type
{
  • "Search": "string",
  • "CurrentPage": "string",
  • "ItemsPerPage": "string",
  • "OrderBy": "string",
  • "IsDescending": "string",
  • "Registries": [
    ],
  • "DeviceIds": [
    ],
  • "AdvanceFilters": {
    }
}

Response samples

Content type
application/json
{
  • "Data": [
    ],
  • "Meta": null,
  • "Errors": [
    ],
  • "StatusCode": 0,
  • "Message": "string"
}

[GET] Query REC Inventory

This endpoint allows get rec inventory.

Authorizations:
Bearer
query Parameters
Registries
Array of strings
Example: Registries=IREC

Filter the items by Registry Value

DeviceIds
Array of strings <uuid> [ items <uuid > ]
Example: DeviceIds=f6bcf36c-ebd5-4653-919b-e3b6bb9f7d9a

Array uuid of Device unique identifier

OrderBy
string

Represents the field used to specify the ordering of the results.

IsDescending
string

Represents the sorting order for the query results.
It indicates whether the sorting should be in descending order (true) or ascending (false).

Search
string

Sets the search query used for filtering the results.

CurrentPage
string

Represents the current page number for paginated results.
This should be a positive whole number (e.g., 1, 2, 3, etc.).

ItemsPerPage
string

Represents the number of items per page for paginated results.
This should be a positive whole number (e.g., 10, 20, 50, etc.).

Responses

Response samples

Content type
application/json
{
  • "Data": [
    ],
  • "Meta": null,
  • "Errors": [
    ],
  • "StatusCode": 0,
  • "Message": "string"
}