You need to enable JavaScript to run this app.
DataAgent (OnPremise)

DataAgent (OnPremise)

Copy page
Download PDF
OpenAPI
Invocation Method
Copy page
Download PDF
Invocation Method

This document introduces the overall process for calling OpenAPI, interface call limitations, and common error codes, with a focus on the essential token application and usage methods required when calling OpenAPI.

Overall process
  1. A client ID and client secret are generated for each OpenAPI client; these serve as credentials for calling the interface.
  2. The user uses the client ID and client secret to call the interface and obtain a JWT token containing user identity information.
  3. When calling business interfaces, the user needs to include the JWT token in the request header, for example: Authorization: Bearer jwt_token.
  4. When the interface is called, DataAgent uses the public key to verify the JWT token and gateway token, and performs rate limiting checks and auditing.
  5. When calling any DataAgent interface, to facilitate troubleshooting, it is recommended to add x-request-id and request-id (ensure the string is unique) to the request headers. Two headers are needed because DataAgent consists of multiple components, and different components may use different identifiers. These two parameters will be recorded in DataAgent's backend logs, helping you analyze and locate issues more efficiently, thereby enabling faster resolution of potential faults.
  6. Return business results.

The overall process is as follows:

Token application

Obtain clientId and clientSecret

  1. Create credentials.
    Go to the "Open Platform" - "Credential Management" page, click "Create Credential" to apply for ClientId and ClientSecret. The credential types are divided into two categories: user and system (only supported for system administrators).

Image

  1. You can copy the ClientId and ClientSecret you received.

Image

warning

Be sure to properly keep ClientId and ClientSecret confidential. These are credentials for calling the interface. Disclosing them to other users will result in a risk of data leakage.

Obtain jwtToken

Request description

Request URL: The interface URL varies depending on the environment.

  • If it is a self-hosted deployment environment, the prefix of the interface URL matches the access address of the self-hosted environment.

Request example

# Replace the clientId and clientSecret
curl --location --request POST 'https://console.volcengine.com/aeolus/api/v3/openapi/jwtToken' \
-H 'Content-Type: application/json' \

-d '{
  "metadata": {
    "clientId": "{clientId}",
    "clientSecret": "{clientSecret}",
    "proxyUser": "abc****@21**********",
    "expire": 3600
  }
}'

tip

If the user has opened the "Developer Console" - "Credential Management" page, they can directly copy the relevant request parameters provided below the credential. Only the obtained clientId and clientSecret need to be replaced. The system has already filled in the proxyUser and expire parameters for them.
Image

Request parameters

Name

Type

Required

Example value

Description

clientId

integer

Required

123abc

Login credential ID, obtained in the previous step

clientSecret

integer

Required

123abc

Login credential key, obtained in the previous step

proxyUser

string

Optional

user_1

The username corresponding to the token.

tip

This username is only valid for system-type credentials.

expire

integer

Optional

3600

Token expiration time. The default value is 3600, in seconds.

warning

The maximum token expiration time is 3 days, that is, 259200 seconds

Response parameters

Parameter

Type

Description

code

string

Return status code. If the request is successful, aeolus/ok is returned. The following are error codes and their explanations:

  • aeolus/openapiClient/tokenExpired: The token has expired
  • aeolus/openapiClient/tokenError: The token is incorrect
  • aeolus/openapiClient/requestRateExcess: Token invocation exceeds frequency limit
  • aeolus/openapiClient/blocked: The request has been intercepted

data

object

Contains specific information returned by the interface. This includes jwtToken and proxyUser.

data.jwtToken

string

Represents the user's identity information. When calling business interfaces, the user needs to include jwtToken in the request header.

data.proxyUser

string

The username corresponding to the token

msg

string

A natural language description of the operation result

Response example

{
    "code": "aeolus/ok",
    "data": {
        "jwtToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.ey*****************************************************************************************************************************************************************************.********************-*************************************************************************************-****************************************************************************************************************************-***-********************************************-******************************************************-*************************-****************************************************************************-************-*************************************-*********************************************************************************************************************************************************-****************-******************5sus",
        "proxyUser": "user_1"
    },
    "msg": "成功" //which means "success"
}

Token usage

When calling the interface, the user needs to include the content of jwtToken in the request header, for example: Authorization: Bearer jwt_token
The following is an example of calling the interface for the current user using curl:

curl -X GET 'https://{domain}/aeolus/api/v3/open/misc/current_user' \
-H 'Authorization: Bearer jwt_token'

tip

  • In the link above, {domain} refers to the environment domain name
    • If it is a privatized deployment environment, the address prefix used for calling the interface is consistent with the privatized environment access address
  • clientid is not shared between different environments

Interface call limitations

To ensure service stability and prevent malicious attacks, the DataAgent backend uses the following methods to limit requests:
(1) Rate limiting (the current interface's external service capacity has reached a high level; if it still does not meet your requirements, you can contact the Volcano Engine technical support team to request modifications);
(2) Blocking, used to reserve some APIs as not open or to temporarily block abnormal user requests;
(3) Auditing, every openapi call will be recorded, including the caller, interface, parameters, and call time.

Common error codes

For details, see Reference: Common Error Codes.

Last updated: 2026.06.25 11:28:56