4.Container
1. Create container
API address:/v2/instance/create
Request method:POST
Request data type:application/json
Response data type:*/*,application/json
Supported version:v1.18.0
callbackUrl provided by version v1.19.0
API description:
Schedule creation of containers on the requested boards. The creation quantity represents the number of boards. Actual number of containers created = number of boards * number of openings. The maximum creation quantity per request depends on the environment configuration and is 200 by default; creation is completed within 60 minutes
Environment variable format requirements: supported characters include letters (uppercase and lowercase), numbers, and underscore _, and must start with a letter or underscore. Maximum length is 100 characters. Business rules: 1. Environment variables starting with AIC_ are supported. When creating a container, these environment variables are passed in as docker create parameters. When the container starts and finds environment variables starting with AIC_, they will be converted into properties. Special notes: 1) The maximum length of a property key in the Android system is 32 characters. This is a hardcoded system limit; keys exceeding this length cannot be set normally. 2) The maximum length of a property value is 92 characters. This is also a hardcoded system limit; if the set value exceeds this length, the system will truncate the excess part. 2. System-reserved environment variables are not allowed to be set. 3. Reserved environment variables starting with AIC_ are not allowed to be configured.
Request parameters:
| Parameter name | Parameter description | Location | Whether required | Data type | Description |
|---|---|---|---|---|---|
| projectId | Project Id | body | false | string | Defaults to the current user's default project |
| nodeUuid | Node uuid | body | true | string | |
| armCardOfferingUuid | Card compute specification uuid | body | true | string | Passed Get board compute specifications Obtained from API |
| os | System | body | true | string | For example: Android |
| osVersion | System version | body | true | string | For example "10" |
| createType | Creation policy | body | false | integer | 1:random scheduling 2:specified board card [default random scheduling] |
| snList | Card SN list | body | false | list | List length cannot exceed 200. When createType=2, the list cannot be empty |
| offeringUuid | Container compute specification uuid | body | true | string | Container specifications have resolution, orientation, refresh rate, and screen density by default, obtained through container compute specifications |
| layoutUuid | Screen layout UUID | body | false | string | Passed Container screen layout list Obtained from API. When not empty, replaces the resolution, orientation, refresh rate, and screen density corresponding to the container specification |
| imageId | Image id | body | true | string | |
| networkUuid | business network uuid | body | false | string | Supports multiple business networks; separate multiple values with ,. networkUuid and subnetUuid cannot be specified at the same time. If not filled in, the system will randomly select one. |
| subnetUuid | business subnet uuid | body | false | string | Supports multiple subnets; separate multiple values with ,. networkUuid and subnetUuid cannot be specified at the same time. If not filled in, the system will randomly select one. |
| num | Number of board cards to create | body | true | integer | Maximum 200. And satisfies: 1. num <= [4.12 Get the number of board cards available for creating containers]; 2. num * instance count <= [4.13 Get the number of available ips] |
| tagIds | Tag | body | false | List<integer> | |
| environment | Environment variables | body | false | object | Key-value pair. The total number cannot exceed 20, and the key-value length cannot exceed 100 |
| root | Whether root | body | false | integer | 0:no 1:yes [default no] |
| stopStatus | Whether to shut down after creation, default is not to shut down | body | false | boolean | true means power off, false means do not power off |
| instanceLimit | Container count exceeded (0: not exceeded, 1: exceeded, default: not exceeded) | body | false | integer | When the excess value is "1", it indicates the total number of containers created on the card where this container is located>Launch count. At this time, the number of containers started will be limited and must not exceed the maximum number allowed by the board card (that is, the launch count). When overage is "0", it means the total number of containers created on the board card where the container is located = launch count. |
| instanceLimitNum | Number of containers created on the card | body | false | integer | When instanceLimit is a quota, this field is required. It must be greater than the container specification launch count level and less than or equal to the board card specification maximum container quantity instanceLimitMax |
| storeType | Storage type | body | false | integer | Storage type: 1. Local disk, 2. Cloud disk (Local disk is selected by default. Containers with storage type cloud disk can be started only after the cloud disk is mounted) |
| idGenerateType | Container ID generation rule | body | false | integer | Default: node-16-digit uuid; 1. node-16-digit uuid; 2. 32-digit uuid, 3. prefix-16-digit uuid |
| prefix | Container ID prefix | body | false | string | When idGenerateType is 3, this field is required, with a maximum of 10 characters. Only supported: numbers, letters, hyphen -, underscore _ |
| callbackUrl | Notification callback address | body | false | string | POST request |
Request example:
POST "/openapi/v2/instance/create"
body:
{
"projectId":"7b5a664173f526309e43faf775f09d1d",
"nodeUuid":"81f62329436eed8f36d0595bf81b63db",
"armCardOfferingUuid":"f64a987692a711ef9b070242ac12000d",
"os":"Android",
"osVersion":"10",
"createType":1,
"snList":["ORG2M32QC2J231400077"],
"offeringUuid":"6d6e456aecdb9d4a89c1712e8f7fc759",
"layoutUuid":"6197fc3d5e1140028cb18159b096247a",
"imageId":"192.168.130.241:3734/7b5a664173f526309e43faf775f09d1d/img-1728651639344:latest",
"networkUuid":"943da341eede495282278cd06ccd1623",
"num":1,
"tagIds":[200,257],
"root":0,
"stopStatus":true,
"idGenerateType":3,
"prefix":"abc",
"callbackUrl": "http://127.0.0.1/notice"
}
Response parameters:
| Parameter name | Parameter description | Type | Description |
|---|---|---|---|
| code | Return code | integer(int32) | |
| message | Return processing message | string | |
| success | Success flag | boolean | |
| result | Returned data object | list<object> | |
| jobs | Task result | list<object> | |
| jobId | Task ID | string | |
| code | Task submission status code | integer | CorrespondingResponse status code table |
| message | Task submission description | string | |
| uuid | Card uuid | string | |
| sn | Card SN | string | |
| projectId | Project id | string | |
| timestamp | Timestamp | integer(int64) | |
| traceId | Request processing ID | string |
Response example:
{
"message": "操作成功",
"code": 200,
"result": {
"jobs": [
{
"jobId": "e1d8895789114132a568a85873f35625",
"code": 200,
"sn": "OR65T31QC2D221000072",
"message": "success",
"uuid": "0b4294e92763a79283def0e83bb9303a",
"projectId": "7b5a664173f526309e43faf775f09d1d"
}
]
},
"timestamp": 1734679127799,
"traceId": "E20241220151847733892"
}
2. Delete container
API address:/v1/arm/card/apply/destroy/container
Request method:POST
Request data type:application/json
Response data type:*/*,application/json
Supported version:v1.18.0
callbackUrl provided by version v1.19.0
API description:
Delete containers on the board card
Request parameters:
| Parameter name | Parameter description | Location | Whether required | Data type | Description |
|---|---|---|---|---|---|
| nodeUuid | Node uuid | body | true | string | |
| batchMap | Card uuid/card name key-value pair | body | true | object | |
| uuids | Card uuid list | body | false | List |
|
| callbackUrl | Notification callback address | body | false | string | POST request |
Request example
POST "/openapi/v1/arm/card/apply/destroy/container"
body:
{
"batchMap":{
"a438e3d6a5d57083385fb6ee21c267fc":"fjz-api-1"
},
"uuids": ["a438e3d6a5d57083385fb6ee21c267fc"],
"nodeUuid":"81f62329436eed8f36d0595bf81b63db",
"callbackUrl": "http://127.0.0.1/notice"
}
Response parameters:
| Parameter name | Parameter description | Type | Description |
|---|---|---|---|
| code | Return code | integer(int32) | |
| message | Return processing message | string | |
| result | Returned data object | object | |
| jobs | Task result | list<object> | |
| jobId | Task ID | string | |
| code | Task submission status code | integer | CorrespondingResponse status code table |
| message | Task submission description | string | |
| uuid | Container uuid | string | |
| sn | Card SN | string | |
| timestamp | Timestamp | integer(int64) | |
| traceId | Request processing ID | string |
Response example:
{
"message": "操作成功",
"code": 200,
"result": {
"jobs": [
{
"jobId": "9bc83f3703f245d2a8f98f39f560dbae",
"code": 200,
"sn": "OR65T31QC2D221000019",
"message": "success",
"uuid": "95b0cd8b672235f49224679a298f7bc8"
}
]
},
"timestamp": 1730188041492,
"traceId": "E20241029154721445265"
}
3. Container paginated list
API address:/v2/instance/page/list
Request method:POST
Request data type:application/json
Response data type:*/*,application/json
Supported version:v1.1.1
API description:
Paginated query of containers, returning container image, resolution, and other data
Request parameters:
| Parameter name | Parameter description | Location | Whether required | Data type | Description |
|---|---|---|---|---|---|
| projectId | Project Id | body | false | string | Defaults to the current user's default project |
| nodeUuids | Node uuid list | body | false | List<String> | |
| armCardSns | Card SN | body | false | List<String> | Query by specified card SN, maximum 200 |
| instanceUuids | Container uuid list | body | false | List<String> | |
| hardModels | Compute model --scheduled for offline removal | body | false | List<String> | |
| imageNames | Image name | body | false | List<String> | |
| levels | Launch count | body | false | List |
1 - 40 |
| instanceOfferingUuids | Container specification uuid | body | false | List |
Filter by specified container specification, obtained from API 5.1 |
| tagNames | Tag name | body | false | string | Separate multiple values with commas |
| instanceLimits | Container count exceeded | body | false | List |
When the excess value is "1", it indicates the total number of containers created on the card where this container is located>Launch count. At this time, the number of containers started will be limited and must not exceed the maximum number allowed by the board card (that is, the launch count). When overage is "0", it means the total number of containers created on the board card where the container is located = launch count. |
| storeTypes | Storage type | body | false | List |
Storage type: 1. Local disk, 2. Cloud disk |
| pageNum | Current page number | body | false | integer | Default 1 |
| pageSize | Amount of data on the current page | body | false | integer | Default 10 |
Request example. Replace parameter values in the actual request:
POST "/openapi/v2/instance/page/list"
body:
{
"instanceUuids": [
"132322",
"132322"
],
"pageNum": 1,
"pageSize": 10,
"projectId": "project_admin"
}
Response parameters:
| Parameter name | Parameter description | Type | Description |
|---|---|---|---|
| code | Return code | integer(int32) | |
| message | Return processing message | string | |
| result | Returned data object | IPage<object> | |
| records | Data list on the current page | list<object> | |
| uuid | Compute container uuid | string | |
| name | Container name | string | |
| armCardUuid | Card uuid | string | |
| armCardSn | Card SN | string | |
| armCardIp | Card IP | string | |
| imageId | Image ID | string | Initial image ID |
| imageUuid | Image UUID | string | |
| imageName | Image name | string | |
| cceImage | Current container image | string | Current actual container image |
| ip | IP | string | Container ip |
| mac | mac address | string | |
| dns | DNS | string | |
| gateway | Gateway | string | |
| businessStatus | business status | integer | |
| status | Container status | integer | See 1.9.1 for details |
| enableStatus | Available status | boolean | false:unavailable true:available |
| delStatus | Deletion status | boolean | false:normal true:deleted |
| resolution | Resolution | string | 720x1280 |
| orientation | Rotation direction | integer | 0:portrait 1:landscape |
| refreshRate | Refresh rate | integer | integer between 30~60 |
| root | Whether root | integer | 0:no 1:yes |
| networkMode | Network mode | string | |
| envVariable | Environment variables | string | |
| cceId | Container ID | string | 64-character string |
| ccePorts | Exposed port group | string | Card ip: port mapped to the container internal port |
| cceStatus | cce running status | string | Running:Up Exited:Exit Unknown:UnKnow |
| level | Launch count | integer | 1 - 40 instances |
| osVersion | Operating system of the container image | string | Android 10 Android 13 |
| gameImageId | Game image id | string | |
| properties | Properties | string | |
| areaUuid | Region uuid | string | |
| areaName | Region name | string | |
| nodeUuid | Node uuid | string | |
| nodeName | Node name | string | |
| nodeIp | Node ip | string | |
| nodePort | Node port | string | |
| armServerUuid | Server uuid | string | |
| armServerName | Server name | sting | |
| hostIp | Host IP address | string | |
| hostUuid | Host UUID | string | |
| projectId | Project id | string | |
| remark | Remarks | string | |
| instanceOffering | Compute specification object | object | |
| uuid | Compute specification uuid | integer | |
| hardwareCode | Container compute specification --scheduled for offline removal | string | For example: Orion865_3C_4G |
| name | Name | string | |
| level | Launch count | integer | 1 - 40 instances |
| remark | Remarks | string | |
| instanceOfferingName | Container specification | string | For example: one-open - storage-limited - 8vCPU - 12GB memory - 175GB |
| tagNames | Tag | list | |
| dnat | DNAT IP list | list | |
| ip | Private IP | string | |
| port | Private port number | integer | |
| publicIp | Public IP | string | |
| publicPort | Public port number | integer | |
| protocol | Protocol | string | |
| isp | Carrier | string | |
| idc | Computer room | string | |
| snat | SNAT IP list | list | |
| publicIp | Public IP | string | |
| isp | Carrier | string | |
| createTime | Creation time | string | |
| updateTime | Update time | string | |
| instanceLimit | Container count exceeded | integer | When the excess value is "1", it indicates the total number of containers created on the card where this container is located>Launch count. At this time, the number of containers started will be limited and must not exceed the maximum number allowed by the board card (that is, the launch count). When overage is "0", it means the total number of containers created on the board card where the container is located = launch count. |
| stopStatus | Container stopped state | boolean | true:stop, false:start |
| natType | NAT type | integer | 1-full cone, 2-DNAT, 3-full cone+DNAT, 0-not configured |
| storeType | Storage type | integer | Storage type: 1. Local disk, 2. Cloud disk |
| displayLayout | Screen layout | string | |
| total | Total number of records | integer | |
| current | Current page number | integer | |
| pages | Total pages | integer | |
| size | Number of items displayed per page | integer | |
| traceId | Request processing ID | string | |
| timestamp | Timestamp | integer(int64) |
Response example:
{
"message": "操作成功!",
"code": 200,
"result": {
"records": [
{
"uuid": "nashan1-edzbbck35fbfp942",
"areaUuid": "a8a4c72bb116e765d079e93c174e5b03",
"areaName": "sz",
"armServerName": "sz_nashan1_s-eb95057e3f1cb4aad656a9fb6492963f",
"armServerUuid": "s-eb95057e3f1cb4aad656a9fb6492963f",
"armCardUuid": "fa9ce25ee8c6f457ba8cfc29ac5689b5",
"armCardId": "OR65Q61QC2D240402561",
"armCardSn": "OR65Q61QC2D240402561",
"nodeUuid": "1ddf1365dac9137cf77d6d0142ff7251",
"nodeName": "nashan1",
"armCardIp": "172.31.1.29",
"name": "ZQtest_Auto-3-i3",
"level": 3,
"ip": "10.255.1.99",
"cceId": "3051536e6c6714f72850cb8b0d7468a80e9077b5e77a7a1a49cbfbaa06614177",
"cceImage": "orion865-android_10:img-1732526889678",
"ccePorts": "",
"cceStatus": "Up",
"status": 2,
"enableStatus": true,
"delStatus": false,
"createTime": "2025-07-03 16:37:34",
"updateTime": "2025-07-03 16:37:34",
"imageId": "orion865-android_10:img-1732526889678",
"imageUuid": "ba9d06f249dd4cd39b56c81ac1ef60da",
"imageName": "865_A10",
"resolution": "1080x1920",
"orientation": 0,
"refreshRate": 60,
"root": null,
"networkMode": "macvlan",
"envVariable": null,
"remark": null,
"hostIp": "172.31.1.29",
"hostUuid": "fa9ce25ee8c6f457ba8cfc29ac5689b5",
"mac": "06:8a:90:0a:6b:f3",
"dns": null,
"gateway": "10.255.0.1",
"nodeIp": "192.168.40.88",
"nodePort": "80",
"gameImageId": null,
"projectId": null,
"businessStatus": 2,
"osVersion": "Android 10",
"properties": null,
"instanceOffering": {
"uuid": "86e93b78d47f11efa27fd67956f2361b",
"name": "Orion865",
"remark": "三开-限存储",
"level": 3,
"hardwareCode": "Orion865_3C_4G",
"instanceOfferingName": "一开-限存储 | 8vCPU |12GB内存 | 175GB"
},
"tagNames": [
"电信公网IP"
],
"dnat": [
{
"ip": "10.255.1.99",
"port": 10101,
"publicIp": "14.17.100.66",
"publicPort": 20512,
"protocol": "udp",
"isp": "电信",
"idc": "广州机房"
}
],
"snat": [
{
"publicIp": "192.168.3.99",
"isp": "电信"
}
],
"instanceLimit": 1,
"stopStatus": false,
"natType": 0,
"storeType": 1,
"displayLayout": "{\"height\":1920,\"pixelDensity\":320,\"refreshRate\":60,\"uuid\":\"cdd2c57c45a111f0bfdd0242ac12000d\",\"weight\":1080}"
}
],
"total": 1,
"current": 1,
"pages": 1,
"size": 10
},
"timestamp": 1751597826079,
"traceId": "C20250704105706079185"
}
4. Container details
API address:/v2/instance/details/{uuid}
Request method:GET
Request data type:application/json
Response data type:*/*,application/json
Supported version:v1.1.1
API description:
Query details of a single container, including container image, resolution, exposed ports, etc.
Request parameters:
| Parameter name | Parameter description | Location | Whether required | Data type | Description |
|---|---|---|---|---|---|
| uuid | Container uuid | path | true | string | Single container |
Request example. Replace parameter values in the actual request:
Response parameters:
| Parameter name | Parameter description | Type | Description |
|---|---|---|---|
| code | Return code | integer(int32) | |
| message | Return processing message | string | |
| result | Returned data object | object | |
| uuid | Container uuid | string | |
| name | Container name | string | |
| ip | ip | string | |
| mac | mac address | string | |
| dns | dns | string | |
| gateway | Gateway | string | |
| tagNames | Tag | List<string> | |
| armServerUuid | Server uuid | string | |
| armServerName | Server name | string | |
| areaUuid | Region uuid | string | |
| areaName | Region name | string | |
| nodeUuid | Node uuid | string | |
| nodeName | Node name | string | |
| armCardUuid | Card uuid | string | |
| armCardSn | Card SN | string | |
| armCardIp | Card IP | string | |
| level | Compute specification | integer | 1 - 40 instances |
| envVariable | Environment variables | string | |
| ports | Port group | string | |
| resolution | Resolution | string | 720x1280 |
| orientation | Rotation direction | integer | 0:portrait 1:landscape |
| refreshRate | Refresh rate | integer | integer between 30~60 |
| networkMode | Network mode | string | bridge;macvlan |
| imageId | Image ID | string | |
| imageName | Image name | string | |
| cceId | Container ID | string | |
| cceImage | image used for docker creation | string | |
| cceStatus | cce running status | string | Running:Up; Exited:Exit; Unknown:UnKnow |
| createStatus | Creation status | integer | 0:pending creation 1:creation succeeded, 2:creation failed |
| enableStatus | Enable status | boolean | false:disabled true:enabled |
| status | Container status | integer | See 1.9.1 for details |
| createTime | Creation time | string | |
| updateTime | Last modified time | string | |
| remark | Remarks | string | |
| osVersion | Operating system of the container image | string | Android 10 Android 13 |
| instanceOffering | Compute specification object | object | |
| uuid | Compute specification uuid | string | |
| name | Name | string | |
| instanceOfferingName | Container specification | string | For example: one-open - storage-limited - 8vCPU - 12GB memory - 175GB |
| hardwareCode | Container compute specification --scheduled for offline removal | string | |
| remark | Remarks | string | |
| level | Compute specification | integer | 1 - 40 instances |
| dnat | DNAT IP list | list | |
| ip | Private IP | string | |
| port | Private port number | integer | |
| publicIp | Public IP | string | |
| publicPort | Public port number | integer | |
| protocol | Protocol | string | |
| isp | Carrier | string | |
| snat | SNAT IP list | list | |
| publicIp | Public IP | string | |
| isp | Carrier | string | |
| instanceLimit | Container count exceeded | integer | When the excess value is "1", it indicates the total number of containers created on the card where this container is located>Launch count. At this time, the number of containers started will be limited and must not exceed the maximum number allowed by the board card (that is, the launch count). When overage is "0", it means the total number of containers created on the board card where the container is located = launch count. |
| natType | NAT type | integer | 1-full cone, 2-DNAT, 3-full cone+DNAT, 0-not configured |
| storeType | Storage type | integer | Storage type: 1. Local disk, 2. Cloud disk |
| displayLayout | Screen layout | string | |
| mounts | cloud disk mount information | list | |
| cloudDriveUuid | cloud disk uuid | string | |
| traceId | Request processing ID | string | |
| timestamp | Timestamp | integer(int64) |
Response example:
{
"message": "操作成功",
"code": 200,
"result": {
"armServerUuid": "s-8c2c9cca5853789031ac60d332a2bdfd",
"uuid": "qs-fs-pre-bmjf5xy6ieq9fvuw",
"resolution": "720x1280",
"dnat": null,
"areaName": "华南",
"refreshRate": 30,
"instanceOffering": {
"level": 4,
"hardwareCode": "Orion865_2C_4G",
"name": "Orion865",
"remark": "四开-限存储",
"uuid": "86e9f4a3d47f11efa27fd67956f2361b",
"instanceOfferingName": "一开-限存储 | 8vCPU |12GB内存 | 175GB"
},
"armCardSn": "OR65M62QC2D242400557",
"networkMode": "macvlan",
"cceId": "f7930793fa41fa89ec2eaa8f9132cfe3e826a5495c54cd5dceff6752f154403a",
"imageId": "img-1743489439031:latest",
"imageName": "20250401-api",
"level": 4,
"ip": "10.20.2.37",
"dns": null,
"nodeUuid": "beb95a81559b894a92c9f1bb13c7aeba",
"name": "hf_auto_test-9-i4",
"envVariable": null,
"armCardUuid": "0511f641304a4c82f4ab67bfa4cc5a74",
"enableStatus": true,
"status": 2,
"nodeName": "qs-fs-pre",
"cceStatus": "Up",
"remark": null,
"mac": "ec:ad:be:c0:b8:cc",
"tagNames": [
"HF自动化测试专用-勿动"
],
"armCardIp": "172.30.0.36",
"osVersion": "Android 10",
"areaUuid": "f2a584df5e91724a94a31a4a68b5dcd0",
"orientation": 0,
"updateTime": "2025-08-21 16:27:52",
"armServerName": "华南_qs-fs-pre_s-01cde1e2894191fd5bc05764f5318a19",
"createTime": "2025-08-21 16:27:52",
"cceImage": "img-1743489439031:latest",
"snat": [
{
"isp": "电信",
"publicIp": "192.168.4.110"
}
],
"gateway": "10.20.2.1",
"instanceLimit": 0,
"natType": 0,
"storeType": 1,
"displayLayout": "{\"height\":1920,\"pixelDensity\":320,\"refreshRate\":60,\"uuid\":\"cdd2c57c45a111f0bfdd0242ac12000d\",\"weight\":1080}",
"mounts": [
{
"cloudDriveUuid": "3e25ec2f7103483b8abc8e3cde49ebca"
},
{
"cloudDriveUuid": "088234e7fbd149b0945d6428913577be"
}
]
},
"timestamp": 1755765048991,
"traceId": "E20250821163048991023"
}
5. Restart container
API address:/v2/instance/restart
Request method:POST
Request data type:application/json
Response data type:*/*,application/json
Supported version:v1.1.1
callbackUrl provided by version v1.7.4
API description:
Batch restart container API
Request parameters:
| Parameter name | Parameter description | Location | Whether required | Data type | Description |
|---|---|---|---|---|---|
| instanceUuids | Container uuid | body | true | list | Single or multiple container data entries |
| callbackUrl | Notification callback address | body | false | string | POST request |
Request example:
POST "/openapi/v2/instance/restart"
body:
{
"instanceUuids": ["348504568b904b7eb64264e488a2f79d","ae674f4546c74bf48c00c211334f214a"]
}
Response parameters:
| Parameter name | Parameter description | Type | Description |
|---|---|---|---|
| code | Return code | integer(int32) | |
| message | Return processing message | string | |
| success | Success flag | boolean | |
| result | Returned data object | List | |
| jobId | Task ID | string | |
| code | Task submission status code | integer | CorrespondingResponse status code table |
| message | Task submission description | string | |
| uuid | Container uuid | string | |
| command | Command | string | |
| nodeUuid | Node UUID | string | |
| timestamp | Timestamp | integer(int64) | |
| traceId | Request processing ID | string |
Response example:
{
"message": "操作成功",
"code": 200,
"result": [
{
"jobId": "fb3e172cbbc847e6ba18bdd991b79e72",
"code": 200,
"message": "success",
"uuid": "348504568b904b7eb64264e488a2f79d",
"command": "restartInstance",
"nodeUuid": "7a3eacab1939fefec0c1998e37d87ae2"
},
{
"jobId": "1e3388fddf3e4c1496fa109986c05383",
"code": 200,
"message": "success",
"uuid": "ae674f4546c74bf48c00c211334f214a",
"command": "restartInstance",
"nodeUuid": "7a3eacab1939fefec0c1998e37d87ae2"
}
],
"timestamp": 1691369821823,
"traceId": "E75320230807085701790"
}
6. Start container
API address:/v2/instance/start
Request method:POST
Request data type:application/json
Response data type:*/*,application/json
Supported version:v1.1.1
callbackUrl provided by version v1.7.4
API description:
Batch start container API (starting containers adds validation for whether the number of started containers on the card exceeds the opening count)
Request parameters:
| Parameter name | Parameter description | Location | Whether required | Data type | Description |
|---|---|---|---|---|---|
| instanceUuids | Container uuid | body | true | list | Single or multiple container data entries |
| callbackUrl | Notification callback address | body | false | string | POST request |
Request example:
POST "/openapi/v2/instance/start"
body:
{
"instanceUuids": ["21f8ec0beadc46b0bd0a437e7a74ea14","2256ed29c9f7464aaac65cacb2843e12"]
}
Response parameters:
| Parameter name | Parameter description | Type | Description |
|---|---|---|---|
| code | Return code | integer(int32) | |
| message | Return processing message | string | |
| success | Success flag | boolean | |
| result | Returned data object | List | |
| jobId | Task ID | string | |
| code | Task submission status code | integer | CorrespondingResponse status code table |
| message | Task submission description | string | |
| uuid | Container uuid | string | |
| command | Command | string | |
| nodeUuid | Node UUID | string | |
| timestamp | Timestamp | integer(int64) | |
| traceId | Request processing ID | string |
Response example:
{
"message": "操作成功",
"code": 200,
"result": [
{
"jobId": "f07e77c4dcd04359b56730dbd7d1162e",
"code": 200,
"message": "success",
"uuid": "21f8ec0beadc46b0bd0a437e7a74ea14",
"command": "startInstance",
"nodeUuid": "7a3eacab1939fefec0c1998e37d87ae2"
},
{
"jobId": "610d31b12f58487b884775078682427c",
"code": 200,
"message": "success",
"uuid": "2256ed29c9f7464aaac65cacb2843e12",
"command": "startInstance",
"nodeUuid": "7a3eacab1939fefec0c1998e37d87ae2"
}
],
"timestamp": 1691369668713,
"traceId": "E75020230807085428674"
}
7. Stop container
API address:/v2/instance/stop
Request method:POST
Request data type:application/json
Response data type:*/*,application/json
Supported version:v1.1.1
callbackUrl provided by version v1.7.4
API description:
Batch stop container API
Request parameters:
| Parameter name | Parameter description | Location | Whether required | Data type | Description |
|---|---|---|---|---|---|
| instanceUuids | Container uuid | body | true | list | Single or multiple container data entries |
| callbackUrl | Notification callback address | body | false | string | POST request |
Request example:
Response parameters:
| Parameter name | Parameter description | Type | Description |
|---|---|---|---|
| code | Return code | integer(int32) | |
| message | Return processing message | string | |
| success | Success flag | boolean | |
| result | Returned data object | List | |
| jobId | Task ID | string | |
| code | Task submission status code | integer | CorrespondingResponse status code table |
| message | Task submission description | string | |
| uuid | Container uuid | string | |
| command | Command | string | |
| nodeUuid | Node UUID | string | |
| timestamp | Timestamp | integer(int64) | |
| traceId | Request processing ID | string |
Response example:
{
"message": "操作成功",
"code": 200,
"result": [
{
"jobId": "406f1720dc7b4fbda540ad48206628ee",
"code": 200,
"message": "success",
"uuid": "f4d2fccea3e341dcba0bf0d6ec40455e",
"command": "stopInstance",
"nodeUuid": "7a3eacab1939fefec0c1998e37d87ae2"
}
],
"timestamp": 1691372308394,
"traceId": "E76220230807093828363"
}
8. Reset container
API address:/v2/instance/reset
Request method:POST
Request data type:application/json
Response data type:*/*,application/json
Supported version:v1.1.1
callbackUrl provided by version v1.7.4
API description:
Batch reset container API, clear the data partition
Request parameters:
| Parameter name | Parameter description | Location | Whether required | Data type | Description |
|---|---|---|---|---|---|
| instanceUuids | Container uuid | body | true | list | Single or multiple container data entries |
| appPersistedType | Pre-installed application retention policy, default 0 | body | false | integer | 0: clean all, 1: keep application, clean application data |
| callbackUrl | Notification callback address | body | false | string | POST request |
| Request example: |
POST "/openapi/v2/instance/reset"
body:
{
"instanceUuids": ["348504568b904b7eb64264e488a2f79d","ae674f4546c74bf48c00c211334f214a"]
}
Response parameters:
| Parameter name | Parameter description | Type | Description |
|---|---|---|---|
| code | Return code | integer(int32) | |
| message | Return processing message | string | |
| result | Returned data object | List | |
| jobId | Task ID | string | |
| code | Task submission status code | integer | CorrespondingResponse status code table |
| message | Task submission description | string | |
| uuid | Container uuid | string | |
| command | Command | string | |
| nodeUuid | Node UUID | string | |
| timestamp | Timestamp | integer(int64) | |
| traceId | Request processing ID | string |
Response example:
{
"code": 0,
"message": "操作成功",
"result":[
{
"jobId": "b59b5f35f7d743d3ad740b8df05277bf",
"code": 200,
"message": "success",
"uuid": "ae674f4546c74bf48c00c211334f214a",
"command": "resetInstance",
"nodeUuid": "7a3eacab1939fefec0c1998e37d87ae2"
},
{
"jobId": "b59b5f35f7d743d3ad740b8df05274f3",
"code": 50003,
"message": "容器未找到",
"uuid": "348504568b904b7eb64264e488a2f79d",
"command": "resetInstance",
"nodeUuid": "7a3eacab1939fefec0c1998e37d87ae2"
}
],
"timestamp": 1749452586155,
"traceId": "C20250609150306154764"
}
9. Container image upgrade
API address:/v2/instance/upgradeImage
Request method:POST
Request data type:application/json
Response data type:*/*,application/json
Supported version:v1.1.1
callbackUrl provided by version v1.7.4
API description:
Batch container image upgrade
Request parameters:
| Parameter name | Parameter description | Location | Whether required | Data type | Description |
|---|---|---|---|---|---|
| instanceUuids | Container uuid | body | true | list | Single or multiple container data entries |
| imageId | Image ID | body | true | string | |
| wipeData | Whether to clear container data (data partition) | body | true | boolean | true clear; false do not clear |
| callbackUrl | Notification callback address | body | false | string | POST request |
| statusStartType | Container startup type | body | false | integer | 0:start (default option) 1:keep original (started/stopped) state |
Request example:
POST "/openapi/v2/instance/upgradeImage"
body:
{
"imageId": "qsandroid:1.0.78",
"wipeData": false,
"instanceUuids": [
"f4d2fccea3e341dcba0bf0d6ec40455e","ae674f4546c74bf48c00c211334f214a"
]
}
Response parameters:
| Parameter name | Parameter description | Type | Description |
|---|---|---|---|
| code | Return code | integer(int32) | |
| message | Return processing message | string | |
| success | Success flag | boolean | |
| result | Returned data object | object | |
| jobs | Task result | list<object> | |
| jobId | Task ID | string | |
| code | Task submission status code | integer | CorrespondingResponse status code table |
| message | Task submission description | string | |
| uuid | Container uuid | string | |
| command | Command | string | |
| nodeUuid | Node uuid | string | |
| timestamp | Timestamp | integer(int64) | |
| traceId | Request processing ID | string |
Response example:
{
"code": 0,
"message": "操作成功",
"result": [
{
"jobId": "b59b5f35f7d743d3ad740b8df05277bf",
"code": 200,
"message": "success",
"uuid": "ae674f4546c74bf48c00c211334f214a",
"command": "upgradeImageInstance",
"nodeUuid": "7a3eacab1939fefec0c1998e37d87ae2"
},
{
"jobId": "b59b5f35f7d743d3ad740b8df05274f3",
"code": 50003,
"message": "容器未找到",
"uuid": "f4d2fccea3e341dcba0bf0d6ec40455e",
"command": "upgradeImageInstance",
"nodeUuid": "7a3eacab1939fefec0c1998e37d87ae2"
}
],
"timestamp": 1749452601305,
"traceId": "C20250609150321303778"
}
10. Set speed limit
API address: /v1/arm/card/apply/network/limit
Request method: POST
Request data type: application/json
Response data type: */*,application/json
Supported version: v1.19.0
API description:
Batch set card/container rate limits
Request parameters
| Parameter name | Parameter description | Location | Whether required | Data type | Description |
|---|---|---|---|---|---|
| uuids | Card or container uuid collection | body | true | list |
Batch operation |
| type | Type | body | true | integer | 1:board card; 2:container |
| txLimit | upstream bandwidth (Mbps) | body | false | integer | Range: 0~10000. 0 or not passing the parameter means no rate limit |
| rxLimit | downstream bandwidth (Mbps) | body | false | integer | Range: 0~10000. 0 or not passing the parameter means no rate limit |
| callbackUrl | Notification callback address | body | false | string |
Request example. Replace parameter values in the actual request:
POST "/openapi/v1/arm/card/apply/network/limit"
body:
{
"callbackUrl": "https://baidu.com",
"rxLimit": 0,
"txLimit": 50,
"type": 1,
"uuids": [
"35cdb073f6b143c27193cda1b1f5223f"
]
}
Response parameters:
| Parameter name | Parameter description | Type | Description |
|---|---|---|---|
| code | Return code | integer(int32) | |
| message | Return processing message | string | |
| success | Success flag | boolean | |
| result | Returned data object | object | |
| jobs | Task result | list<object> | |
| jobId | Task ID | string | |
| code | Task submission status code | integer | CorrespondingResponse status code table |
| sn | Card sn | string | |
| message | Task submission description | string | |
| uuid | Resource uuid | string | Card uuid or container uuid |
| timestamp | Timestamp | integer(int64) | |
| traceId | Request processing ID | string |
Response example:
{
"message": "操作成功",
"code": 200,
"result": {
"jobs": [
{
"jobId": "d33cf1faf04d46118e6863d67d4a5790",
"code": 200,
"sn": "OR65M22QC2D221101036",
"message": "success",
"uuid": "35cdb073f6b143c27193cda1b1f5223f"
}
]
},
"timestamp": 1735635597561,
"traceId": "C20241231165957548043"
}
11. Query rate limit
API address: /v1/arm/card/apply/query/network/limit
Request method: POST
Request data type: application/json
Response data type: */*,application/json
Supported version: v1.19.0
API description:
Batch query card/container rate limits
Request parameters
| Parameter name | Parameter description | Location | Whether required | Data type | Description |
|---|---|---|---|---|---|
| uuids | Card or container uuid collection | body | true | list |
Batch operation |
| type | Type | body | true | integer | 1:board card; 2:container |
Request example. Replace parameter values in the actual request:
POST "/openapi/v1/arm/card/apply/query/network/limit"
body:
{
"type": 1,
"uuids": [
"35cdb073f6b143c27193cda1b1f5223f"
]
}
Response parameters:
| Parameter name | Parameter description | Type | Description |
|---|---|---|---|
| code | Return code | integer(int32) | |
| message | Return processing message | string | |
| success | Success flag | boolean | |
| result | Returned data object | object | |
| list | Task result | list<object> | |
| uuid | uuid | string | |
| txLimit | upstream bandwidth (Mbps) | integer | |
| rxLimit | downstream bandwidth (Mbps) | integer | |
| timestamp | Timestamp | integer(int64) | |
| traceId | Request processing ID | string |
Response example:
{
"message": "操作成功",
"code": 200,
"result": {
"list": {
"2de6e9a68cd46c09a600a6e4ea70f6cb": {
"rxLimit": 0,
"txLimit": 0
}
}
},
"timestamp": 1736494048934,
"traceId": "C20250110152728934900"
}
12. Incrementally synchronize container list
API address:/v2/instance/sync
Request method:POST
Request data type:application/json
Response data type:*/*,application/json
Supported version:v2.0.0
API description:
Synchronize a specified number of container data change records based on the time baseline and id baseline
Request parameters:
| Parameter name | Parameter description | Location | Whether required | Data type | Description |
|---|---|---|---|---|---|
| projectId | Project Id | body | true | string | Synchronize data for the specified project id |
| timeLine | Time baseline; only data greater than or equal to this time will be returned | body | true | long | |
| uuid | uuid baseline; because data with the same time exists, sort by uuid to skip data that has already been synced | body | false | string | |
| ticketId | Request number | body | true | string | Will be included in the returned content |
| pageSize | Batch size | body | false | integer | Maximum amount of request data returned per request, default 10 |
Request example:
POST "/openapi/v2/instance/sync"
body:
{
"timeLine":1742288362249,
"pageSize":3,
"uuid": "nashan-ggca3oneqdqkr2vv",
"ticketId":"xxxxxx",
"projectId":"7b5a664173f526309e43faf775f09d1d",
}
Response parameters:
| Parameter name | Parameter description | Type | Description |
|---|---|---|---|
| code | Return code | integer(int32) | |
| message | Return processing message | string | |
| success | Success flag | boolean | |
| result | Returned data object | list<object> | |
| records | Data list on the current page | list<object> | |
| uuid | Compute container uuid | string | |
| name | Container name | string | |
| armCardId | Card SN | string | |
| armCardSn | Card SN | string | |
| armCardIp | Card IP | string | |
| imageId | Image ID | string | Initial image for creating container |
| imageUuid | Image UUID | string | |
| cceImage | Current container image | string | If there is an image upgrade, this value will become the current image |
| ip | ip | string | |
| mac | mac address | string | |
| dns | dns | string | |
| gateway | Gateway | string | |
| businessStatus | business status | integer | |
| status | Container status | integer | See 1.9.1 for details |
| enableStatus | Available status | boolean | false:unavailable true:available |
| delStatus | Deletion status | boolean | false:normal true:deleted |
| resolution | Resolution | string | 720x1280 |
| orientation | Rotation direction | integer | 0:portrait 1:landscape |
| refreshRate | Refresh rate | integer | integer between 30~60 |
| root | Whether root | integer | 0:no 1:yes |
| networkMode | Network mode | string | |
| envVariable | Environment variables | string | |
| cceId | Container ID | string | 64-character string |
| ccePorts | Exposed port group | string | Card ip: port mapped to the container internal port |
| cceStatus | cce running status | string | Running:Up Exited:Exit Unknown:UnKnow |
| level | Compute specification | integer | 1 - 7 instances |
| areaUuid | Region uuid | string | |
| areaName | Region name | string | |
| nodeUuid | Node uuid | string | |
| nodeName | Node name | string | |
| armServerUuid | Server uuid | string | |
| armServerName | Server name | sting | |
| armCardUuid | Card uuid | string | |
| hostIp | Host IP address | string | |
| hostUuid | Host UUID | string | |
| remark | Remarks | string | |
| osVersion | Operating system of the container image | string | Android 10 Android 13 |
| tagNames | Tag | List<string> | |
| dnat | DNAT IP list | list | |
| ip | Private IP | string | |
| port | Private port number | integer | |
| publicIp | Public IP | string | |
| publicPort | Public port number | integer | |
| protocol | Protocol | string | |
| isp | Carrier | string | |
| idc | Computer room | string | |
| createTime | Creation time | string | |
| instanceOffering | Compute specification object | object | |
| uuid | Compute specification uuid | integer | |
| name | Name | string | |
| remark | Remarks | string | |
| instanceOfferingName | Container specification | string | For example: one-open - storage-limited - 8vCPU - 12GB memory - 175GB |
| hardwareCode | Container compute specification --scheduled for offline removal | string | |
| level | Compute specification | integer | 1 - 7 instances |
| updateTime | Update time | string | |
| nodeIp | Node ip | string | |
| nodePort | Node port | string | |
| gameImageId | Game image id | string | |
| properties | Properties | string | |
| instanceLimit | Container count exceeded | integer | When the excess value is "1", it indicates the total number of containers created on the card where this container is located>Launch count. At this time, the number of containers started will be limited and must not exceed the maximum number allowed by the board card (that is, the launch count). When overage is "0", it means the total number of containers created on the board card where the container is located = launch count. |
| stopStatus | Container stopped state | boolean | true:stop, false:start |
| natType | NAT type | integer | 1-full cone, 2-DNAT, 3-full cone+DNAT, 0-not configured |
| storeType | Storage type | integer | Storage type: 1. Local disk, 2. Cloud disk |
| displayLayout | Screen layout | string | |
| timeLine | Maximum time in this batch of data | long | |
| uuid | Last container UUID in this batch of data | string | |
| ticketId | Request number | string | |
| timestamp | Timestamp | integer(int64) | |
| traceId | Request processing ID | string |
Response example:
{
"message": "操作成功!",
"code": 200,
"result": {
"records": [
{
"uuid": "qs-fs-pre-s9rf5snjhh97b8a1",
"areaUuid": "f2a584df5e91724a94a31a4a68b5dcd0",
"areaName": "华南",
"armServerName": "华南_qs-fs-pre_s-8c2c9cca5853789031ac60d332a2bdfd",
"armServerUuid": "s-8c2c9cca5853789031ac60d332a2bdfd",
"armCardUuid": "46b635c9669ee824db9f19d64cca8c4e",
"armCardId": "OR65M62QC2D242406460",
"armCardSn": "OR65M62QC2D242406460",
"nodeUuid": "beb95a81559b894a92c9f1bb13c7aeba",
"nodeName": "qs-fs-pre",
"armCardIp": "172.30.0.57",
"name": "hf_auto_test-10-i2",
"level": 4,
"ip": "10.20.2.67",
"cceId": "7d3632807bbd004f4086e76b9210f8da1c24e22343e945b7bac558ac2aae2efd",
"cceImage": "img-1743489439031",
"imageName": "20250401-api",
"ccePorts": "",
"cceStatus": "Up",
"status": 6,
"enableStatus": true,
"delStatus": false,
"createTime": "2025-08-21 16:27:54",
"updateTime": "2025-08-21 16:31:25",
"imageId": "img-1743489439031:latest",
"imageUuid": "bf78f87b27d64cc88ad70b0cbe4dda16",
"resolution": "720x1280",
"orientation": 0,
"refreshRate": 30,
"root": null,
"networkMode": "macvlan",
"envVariable": null,
"remark": null,
"hostIp": "172.30.0.57",
"hostUuid": "46b635c9669ee824db9f19d64cca8c4e",
"mac": "48:17:8f:bb:de:8d",
"dns": null,
"gateway": "10.20.2.1",
"nodeIp": "10.21.0.10",
"nodePort": "80",
"gameImageId": "",
"projectId": null,
"businessStatus": 6,
"osVersion": "Android 10",
"properties": null,
"instanceLimit": 1,
"stopStatus": false,
"natType":1,
"storeType":1,
"displayLayout": "{\"height\":1920,\"pixelDensity\":320,\"refreshRate\":60,\"uuid\":\"cdd2c57c45a111f0bfdd0242ac12000d\",\"weight\":1080}",
"instanceOffering": {
"uuid": "86e9f4a3d47f11efa27fd67956f2361b",
"name": "Orion865",
"remark": "四开-限存储",
"level": 4,
"hardwareCode": "Orion865_2C_4G",
"instanceOfferingName": "一开-限存储 | 8vCPU |12GB内存 | 175GB"
},
"tagNames": [
"HF自动化测试专用-勿动"
],
"dnat": [
{
"ip": "10.255.1.99",
"port": 10101,
"publicIp": "14.17.100.66",
"publicPort": 20512,
"protocol": "udp",
"isp": "电信",
"idc": "广州机房"
}
],
"snat": [
{
"publicIp": "192.168.4.110",
"isp": "电信"
}
]
}
],
"timeLine": 1755765085287,
"uuid": "qs-fs-pre-s9rf5snjhh97b8a1",
"ticketId": "1755765046889"
},
"timestamp": 1755765088019,
"traceId": "C20250821163128019156"
}
13. Container ssh connection information
API address: /v2/instance/ssh-info
Request method:POST
Request data type:application/json
Response data type:*/*,application/json
Supported version:v1.19.0
API description:
Get container ssh connection information
Request parameters:
| Parameter name | Parameter description | Location | Whether required | Data type | Description |
|---|---|---|---|---|---|
| uuid | Container uuid | body | true | string | Container uuid |
| liveTime | Connection validity period | body | true | integer | Connection validity period, unit: seconds, range: [1, 86400] |
Request example. Replace parameter values in the actual request:
Response parameters:
| Parameter name | Parameter description | Type | Description |
|---|---|---|---|
| code | Return code | integer | |
| message | Return processing message | string | |
| result | Returned data object | list<object> | |
| type | Connection target operating system | integer | 1 is android, 2 is debain |
| uuid | Container uuid | string integer | android container uuid |
| sshCommand | Connection command | string | |
| host | Connection address | string | |
| port | Connection port | integer | |
| username | Connection username | string | |
| sshPwd | Connection password | string | |
| expireTime | Expiration timestamp | long | Unit ms |
| timestamp | Timestamp | integer | |
| traceId | Request processing ID | string |
Response example:
{
"message": "操作成功!",
"code": 200,
"result": {
"type": 1,
"uuid": "nashan1-0i5thpnoliqyjnwy",
"sshCommand": "ssh 10.255.1.13_22_1_1752133964400@192.168.40.86 -p 2226",
"sshPwd": "eyJtZXRhIjoiZXlKdVlXMWxJam9pWVdSdGFXNGlMQ0owZVhCbElqb2lNVEFpZlE9PSIsInNpZ24iOiJ3VXFMcHRFRmFaVFQ0TmVZRHBiclJBPT0ifQ==",
"expireTime": 1752133964400,
"host": "192.168.40.86",
"port": 2226,
"username": "10.255.1.13_22_1_1752133964400"
},
"timestamp": 1752047564479,
"traceId": "C20250709155244479102"
}
14. Number of board cards available for creating containers (used for creating containers)
API address: /v1/arm/card/apply/available/apply/num
Request method: POST
Request data type: application/json
Response data type: */*,application/json
Supported version: v1.18.0
API description:
Get the number of boards available for creating containers
Request parameters:
| Parameter name | Parameter description | Location | Whether required | Data type | Description |
|---|---|---|---|---|---|
| projectId | Project id | body | false | string | Defaults to the current user's default project |
| nodeUuid | Node uuid | body | true | string | |
| offeringUuid | Card specification uuid | body | true | string | Passed Get board compute specifications Obtained from API |
| snList | Card SN list | body | false | list | |
| storageIsolation | Whether storage isolation is required | body | false | boolean | Default false, meaning storage isolation support is not required |
Request example
POST "/openapi/v1/arm/card/apply/available/apply/num"
body:
{
"nodeUuid":"81f62329436eed8f36d0595bf81b63db",
"projectId":"7b5a664173f526309e43faf775f09d1d",
"offeringUuid":"f64a987692a711ef9b070242ac12000d"
}
Response parameters:
| Parameter name | Parameter description | Type | Description |
|---|---|---|---|
| code | Return code | integer(int32) | |
| message | Return processing message | string | |
| result | Returned data object | object | |
| applyNum | Number of board cards available for creating containers | integer(int32) | |
| timestamp | Timestamp | integer(int64) | |
| traceId | Request processing ID | string |
Response example:
{
"message": "操作成功",
"code": 200,
"result": {
"applyNum": 5
},
"timestamp": 1730201010116,
"traceId": "E20241029192330116567"
}
15. Number of available IPs (used for creating containers) Planned offline
API address: /v1/arm/card/apply/available/ip/num
Request method: POST
Request data type: application/json
Response data type: */*,application/json
Supported version: v1.18.0
API description:
Get the number of IPs available for creating containers
Used to determine whether the ip pool satisfies the container quantity when creating containers
Request parameters:
| Parameter name | Parameter description | Location | Whether required | Data type | Description |
|---|---|---|---|---|---|
| nodeUuid | Node uuid | body | true | string | |
| subnetUuid | Subnet uuid | body | true | string | Supports multiple network segments, separated by commas |
Request example
POST "/openapi/v1/arm/card/apply/available/ip/num"
body:
{
"nodeUuid":"81f62329436eed8f36d0595bf81b63db",
"subnetUuid":"943da341eede495282278cd06ccd1623"
}
Response parameters:
| Parameter name | Parameter description | Type | Description |
|---|---|---|---|
| code | Return code | integer(int32) | |
| message | Return processing message | string | |
| result | Returned data object | object | |
| ipNum | Number of available IPs | integer(int32) | |
| timestamp | Timestamp | integer(int64) | |
| traceId | Request processing ID | string |
Response example:
{
"message": "操作成功",
"code": 200,
"result": {
"ipNum": 5
},
"timestamp": 1730201010116,
"traceId": "E20241029192330116567"
}
16. Get business networks and subnets (for creating containers)
API address: /v1/network/list
Request method:POST
Request data type:application/json
Response data type:*/*,application/json
Supported version:v1.7.4
API description:
Get the business networks and their subnets for the specified node under the project
Request parameters:
| Parameter name | Parameter description | Location | Whether required | Data type | Description |
|---|---|---|---|---|---|
| projectId | Project Id | body | false | string | Defaults to the current user's default project |
| nodeUuid | Node uuid | body | true | string | Query networks under the node |
Request example. Replace parameter values in the actual request:
Response parameters:
| Parameter name | Parameter description | Type | Description |
|---|---|---|---|
| code | Return code | integer(int32) | |
| message | Return processing message | string | |
| result | Returned data object | list<object> | |
| networkUuid | Network uuid | string | |
| name | Network name | string | |
| ipv4 | ipv4 | string | |
| cidr | cidr prefix length | string | |
| ipv4Cidr | ipv4Cidr | string | |
| dns1 | dns1 | string | |
| dns2 | dns2 | string | |
| gateway | Gateway | string | |
| vlan | vlan | integer | |
| subnetCount | Number of subnets | integer | Number of subnets created under the network |
| availableIpTotal | total available IPs in business network subnet | integer | total available IPs in business network subnet |
| natType | NAT type | integer | 1-full cone, 2-DNAT, 3-full cone+DNAT, 0-not configured |
| subnets | Subnet list | list<object> | |
| subnetUuid | Subnet uuid | string | |
| ipv4 | ipv4 | string | |
| cidr | cidr prefix length | string | Has a value when the type is network segment |
| ipv4Cidr | ipv4Cidr | string | Has a value when the type is network segment |
| startIp | startIp | string | has a value when the type is ip range |
| endIp | endIp | string | has a value when the type is ip range |
| gateway | Gateway address | string | |
| availableNum | Number of available IPs in the subnet | integer | |
| timestamp | Timestamp | integer(int64) | |
| traceId | Request processing ID | string |
Response example:
{
"message": "操作成功!",
"code": 200,
"result": [
{
"networkUuid": "3c81e61a35de401bv076bdb0d6675ee3",
"name": "business1",
"ipv4": "10.255.0.0",
"cidr": "25",
"ipv4Cidr": "10.255.0.0/25",
"dns1": "8.8.8.8",
"dns2": "114.114.114.114",
"vlan": 101,
"gateway": "10.255.0.1",
"subnetCount": 3,
"availableIpTotal": 8,
"natType":1,
"subnets": [
{
"subnetUuid": "943da341eede495282278cd06ccd1623",
"ipv4": "10.255.0.0",
"cidr": "29",
"ipv4Cidr": "10.255.0.0/29",
"gateway": "10.255.0.1",
"availableNum": 3,
"startIp": null,
"endIp": null
},
{
"subnetUuid": "64e261771e8a43edb27e70f7185c9702",
"ipv4": "10.255.0.10",
"cidr": null,
"ipv4Cidr": null,
"gateway": "10.255.0.1",
"availableNum": 2,
"startIp": "10.255.0.10",
"endIp": "10.255.0.69"
},
{
"subnetUuid": "091e0e26816945029c00adf463f8e73d",
"ipv4": "10.255.0.70",
"cidr": null,
"ipv4Cidr": null,
"gateway": "10.255.0.1",
"availableNum": 3,
"startIp": "10.255.0.70",
"endIp": "10.255.0.127"
}
]
}
],
"timestamp": 1736499769597,
"traceId": "C20250110170249597948"
}
17. Container screen layout list
API address:/v1/layout/page/list
Request method:POST
Request data type:application/json
Response data type:*/*,application/json
Supported version:v2.4.0
API description:
Container screen layout list
Request parameters:
| Parameter name | Parameter description | Location | Whether required | Data type | Description |
|---|---|---|---|---|---|
| projectId | Project Id | body | false | string | Defaults to the current user's default project |
Request example:
Response parameters:
| Parameter name | Parameter description | Type | Description |
|---|---|---|---|
| code | Return code | integer(int32) | |
| message | Return processing message | string | |
| result | Returned data object | IPage«region information» | |
| records | Data list on the current page | list<object> | |
| uuid | Layout UUID | string | |
| name | Layout name | string | |
| weight | Width | integer | Unit: px |
| height | Height | integer | Unit: px |
| pixelDensity | Pixel density | integer | Unit: dpi |
| refreshRate | Screen refresh rate | integer | Unit: fps |
| projectId | Project Id | string | project_pubilc: default layout Other: custom layout |
| createTime | Creation time | string | |
| updateTime | Update time | string | |
| total | Total number of records | integer | |
| current | Current page number | integer | |
| pages | Total pages | integer | |
| size | Number of items displayed per page | integer | |
| timestamp | Timestamp | integer(int64) | |
| traceId | Request processing ID | boolean |
Response example:
{
"message": "操作成功!",
"code": 200,
"result": {
"records": [
{
"uuid": "c0e226e745a111f0bfdd0242ac12000d",
"name": "ID1",
"projectId": "project_public",
"createTime": "2025-06-13 12:58:16",
"updateTime": "2025-06-13 12:58:16",
"weight": 720,
"height": 1280,
"pixelDensity": 320,
"refreshRate": 30
},
{
"uuid": "c9a17ece45a111f0bfdd0242ac12000d",
"name": "ID2",
"projectId": "project_public",
"createTime": "2025-06-13 12:58:16",
"updateTime": "2025-06-13 12:58:16",
"weight": 1280,
"height": 720,
"pixelDensity": 320,
"refreshRate": 30
},
{
"uuid": "cdd2c57c45a111f0bfdd0242ac12000d",
"name": "ID3",
"projectId": "project_public",
"createTime": "2025-06-13 12:58:16",
"updateTime": "2025-06-13 12:58:16",
"weight": 1080,
"height": 1920,
"pixelDensity": 320,
"refreshRate": 60
},
{
"uuid": "cfa7b8c745a111f0bfdd0242ac12000d",
"name": "ID4",
"projectId": "project_public",
"createTime": "2025-06-13 12:58:16",
"updateTime": "2025-06-13 12:58:16",
"weight": 1920,
"height": 1080,
"pixelDensity": 320,
"refreshRate": 60
}
],
"total": 4,
"current": 1,
"pages": 1,
"size": 10
},
"timestamp": 1750044687220,
"traceId": "C20250616113127220345"
}
18. Container start/stop status list on the card
API address:/v2/instance/stopStatus/list
Request method:POST
Request data type:application/json
Response data type:*/*,application/json
Supported version:v2.7.0
API description:
Paginated query of container start/stop status, returning the corresponding start/stop status of containers
Request parameters:
| Parameter name | Parameter description | Location | Whether required | Data type | Description |
|---|---|---|---|---|---|
| armCardSns | Card SN | body | false | List<String> | Query by specified card SN, maximum 200 |
| pageNum | Current page number | body | false | integer | Default 1 |
| pageSize | Amount of data on the current page | body | false | integer | Default 10 |
Request example. Replace parameter values in the actual request:
POST "/openapi/v2/instance/stopStatus/list"
body:
{
"armCardSns": [
"132322",
"132322"
],
"pageNum": 1,
"pageSize": 10
}
Response parameters:
| Parameter name | Parameter description | Type | Description |
|---|---|---|---|
| code | Return code | integer(int32) | |
| message | Return processing message | string | |
| result | Returned data object | IPage<object> | |
| records | Data list on the current page | list<object> | |
| sn | Card sn | string | |
| uuid | Compute container uuid | string | |
| stopStatus | Container stopped state | boolean | true:stop, false:start |
| total | Total number of records | integer | |
| current | Current page number | integer | |
| pages | Total pages | integer | |
| size | Number of items displayed per page | integer | |
| traceId | Request processing ID | string | |
| timestamp | Timestamp | integer(int64) |
Response example:
{
"message": "操作成功!",
"code": 200,
"result": {
"records": [
{
"sn": "OR65Q61QC2D240402563",
"uuid": "c0e226e745a111f0bfdd0242ac12000a",
"stopStatus": true
},
{
"sn": "OR65Q61QC2D240402564",
"uuid": "c0e226e745a111f0bfdd0242ac12000c",
"stopStatus": true
}
],
"total": 1,
"current": 1,
"pages": 1,
"size": 10
},
"timestamp": 1751597826079,
"traceId": "C20250704105706079185"
}