Skip to main content

Quick Start

This guide helps you make your first API call within a few minutes. Follow the steps below to set up authentication and start exploring our APIs.

All examples in this guide are shown using cURL. For more integration options, refer to the API documentation.

Prerequisites​

Before you start, make sure you have the following:

  • A properly running inverter connected to Solinteg Cloud (online)
  • A Solinteg Open API account and password: note that Solinteg Open API and Solinteg Cloud Monitoring System are two independent systems. Your Solinteg Cloud Monitoring System account cannot be used to access the Solinteg Open API.
  • Self-registration is not available yet; the service is only provided to organization users. To apply, contact your sales representative, and we will reply within 1-2 business days.
    • Please Provide your organization name, create account email, and purpose description in the application.
  • Basic knowledge of RESTful APIs and the MQTT protocol
  • Familiarity with basic inverter business concepts, and the ability to understand the meaning of property parameters, configuration parameters, and telemetry data

Environments​

EnvironmentURLPurpose
Productionhttps://lb.solinteg-cloud.com/openapi/v2Production use

The documentation site has a built-in API online debugging (Playground) feature:

  1. Open any API in the API list
  2. Select the target environment in the Servers dropdown
  3. Fill in the parameters and click Send Request
  4. The response is displayed directly below
tip

When sending requests in the Playground, you can first call the login API to obtain a token, and then fill it into the token authentication field of other APIs (you only need to fill it in once, until the token expires).

Your First API Call​

1. Log in to Get a Token​

This is a prerequisite for calling all subsequent business APIs (except login).

note

The token has a validity period (60 minutes). After it expires, you need to call the login API again to obtain a new one.

curl -L 'https://lb.solinteg-cloud.com/openapi/v2/loginv2/auth' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
--data-raw '{
"authAccount": "user@example.com",
"authPassword": "123456"
}'

Extract the token from the returned body.

{
"errorCode": 0,
"info": null,
"successful": true,
"body": "eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE3Nz..."
}

2. Bind a Device​

Binding a device requires the SN and CheckCode, which you can obtain in either of the following two ways:

  1. From the device nameplate.
Inverter nameplate
  1. If you are also using the Solinteg Cloud monitoring system, you can obtain them from the Device Realtime Info page.
Device details

Example:

curl -L 'http://8.209.107.231:7710/openapi/v2/wrapper/topic/addTopicMapping?deviceSn=A11230010013204A&topic=%2FAKi0SPuVjN&checkCode=059442' \
-H 'Accept: application/json' \
-H 'token: eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE3Nz...'

Binding successful

{
"errorCode": 0,
"info": null,
"body": true,
"successful": true
}

3. Verify and Query All Devices Under Your Account​

curl -L 'http://8.209.107.231:7710/openapi/v2/wrapper/topic/getDeviceByTopic?topic=%2FAKi0SPuVjN' \
-H 'Accept: application/json' \
-H 'token: eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE3Nz...'

The response shows all the devices you have bound:

{
"errorCode": 0,
"info": null,
"body": [
{
"deviceSn": "A11250010094305B",
"modelType": "M2HT-125K-300"
}
],
"successful": true
}

4. Query the Current Configuration Parameters of a Device​

curl -L 'http://8.209.107.231:7710/openapi/v2/wrapper/device/queryDeviceConfigData?deviceSn=A11220010013007C' \
-H 'Accept: application/json' \
-H 'token: eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE3Nz...'

Returns all configuration and property parameters of this device. These parameters determine how the inverter operates and are usually stable.

{
"errorCode": 0,
"info": null,
"body": {
"deviceType": "STORAGE_INVERTER",
"firmwareVersion": "V1-0820-0108",
"checkCode": "426956",
"communicationMode": "WIFI-/",
"safetyCountry": 10,
"inverterReconnectionTime": 31,
"antiCounterCurrentStartStop": 1,
"antiReverseCurrentPowerSetting": -1.6,
"ctRatioSetting": 1200,
"activePowerLimitE2": 60,
"pfSettings": 1,
"firstUnderVoltageValue": 184,
"firstUnderVoltageTime": 80,
"firstOverVoltageValue": 276,
"firstOverVoltageTime": 80,
"batteryTypeCode": "16#0",
"peakLoadShiftSwitch": 1,
"gridMaximumCapacitySet": 60,
"gridConnectedSocProtection": 1,
"gridConnectedDischargeDepth": 15,
"hybridWorkMode": "1#1",
"masterSlaveFlag": 0,
"systemControl": 0,
"offGridOverload": 30,
"offGridVoltageSet": 230,
"masterSn": "FFFFFFFFFFFFFFFF",
"softwareVersion": "5398",
"hardwareVersion": "8240",
"rtcTime": "2026-05-20 20:10:37",
"batCapacity": 61.4,
"dataLoggerSN": "A1L26001020000A1",
"dataLoggerTime": "2026-05-20 12:10:39 +0000"
...
},
"successful": true
}

5. Query the Current Telemetry Data of a Device​

This API returns the most recent telemetry packet, which represents the current working status of the inverter.

curl -L 'http://8.209.107.231:7710/openapi/v2/wrapper/device/queryDeviceRealtimeData?deviceSn=A11250010294305B' \
-H 'Accept: application/json' \
-H 'token: eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE3Nz...'
{
"errorCode": 0,
"info": null,
"successful": true,
"body": {
"invSn": "A11250010094305B",
"alarms": [],
"modelType": "M2HT-125K-300",
"temperature1": 58.6,
"temperature2": 55,
"temperature3": 53.7,
"temperature4": 47,
"vpv1": 646.7,
"vpv2": 636.9,
"vpv3": 624.1,
"vpv4": 658.3,
"vpv5": 649.6,
"vpv6": 700.8,
"vpv7": 6553.5,
"vpv8": 6553.5,
"vpv9": 6553.5,
"vpv10": 6553.5,
...
}
}

FAQ​

Authentication Failed​

When you receive authentication-related errors, check:

  • Whether the token field is included in the request headers (note that it is a custom token header, not Authorization)
  • Whether the token has expired; if so, log in again to obtain a new one
  • Whether you are using the environment address that matches your account

404 Not Found​

If the API address is incorrect, confirm:

  • The Base URL matches the selected environment
  • The API path is spelled correctly
  • Path parameters (such as {deviceSn}) are replaced correctly

Rate Limiting (QPS)​

Each API has a certain QPS limit. Please refer to the API documentation.

{
"errorCode": 1,
"info": {
"code": "429001",
"description": "Account-level total rate limit exceeded."
},
"body": null,
"successful": false
}

Please implement retry and backoff strategies in your integration to avoid high-frequency calls.

Next Steps​

  • Read the EMS control documentation (ToU mode / EMS mode) to understand the use cases of the two control modes
  • Browse the API list to learn about device management, data query, device control, and other API capabilities
  • If you need help, contact us through your sales representative or developer support channels