3.Board card
1. Request card
API address: /v1/arm/card/apply/add
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:
Request card resources in the system
Request parameters:
| Parameter name | Parameter description | Location | Whether required | Data type | Description |
|---|---|---|---|---|---|
| nodeUuid | Node uuid | body | true | string | |
| projectId | Project Id | body | false | string | Defaults to the current user's default project |
| name | Card name | body | true | string | Name cannot be duplicated [ naming rule for batch creation is {name}-1,{name}-2 and so on ] |
| createType | Type | body | true | integer | 1:board card&Container 2: bare board card |
| armCardOfferingUuid | Card specification uuid | body | true | string | Passed Get board compute specifications Obtained from API |
| num | Requested card quantity | body | true | integer | A single request cannot exceed 10000. Can be passed through Get the available number of boards API obtains the maximum requestable quantity |
| snList | Card SN list | body | false | list | List length cannot exceed 200 |
| armServerUuids | Server uuid list | body | false | list | Server uuid list |
| os | Operating system | body | false | string | Currently only supports Android and debian |
| osVersion | Operating system version | body | false | string | Version number of the operating system |
| tagIds | Tag id | body | false | Set<Long> | |
| callbackUrl | Notification callback address | body | false | string | POST request |
Request example
POST "/openapi/v1/arm/card/apply/add"
body:
{
"nodeUuid":"81f62329436eed8f36d0595bf81b63db",
"projectId":"7b5a664173f526309e43faf775f09d1d",
"name":"test-api",s
"createType":1,
"armCardOfferingUuid":"f64a987692a711ef9b070242ac12000d",
"num":1,
"snList":["ORG2M32QC2J231400077"],
"armServerUuids":["s-08f5fb859a9d9161c2727bf57e586f02"],
"os":"Android",
"osVersion":"13",
"tagIds":[200,257],
"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 | 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": "b183d73346ca4b6685b76fae0f0d64e5",
"code": 200,
"sn": "OR65T31QC2D221000072",
"message": "success",
"uuid": "0b4294e92763a79283def0e83bb9303a",
"projectId": "7b5a664173f526309e43faf775f09d1d"
}
]
},
"timestamp": 1733917959524,
"traceId": "E20241211195239510262"
}
2. Unsubscribe board
API address: /v1/arm/card/apply/unsubscribe
Request method: POST
Request data type: application/json
Response data type: */*,application/json
Supported version: v2.8.0
API description:
Unsubscribe board
Request parameters:
| Parameter name | Parameter description | Location | Whether required | Data type | Description |
|---|---|---|---|---|---|
| nodeUuid | Node uuid | body | true | string | |
| uuids | Card uuid list | body | true | List<String> | |
| callbackUrl | Notification callback address | body | false | string | POST request |
Request example
POST "/openapi/v1/arm/card/apply/unsubscribe"
body:
{
"uuids": ["e123de61c90d0abbd503c48c769bb38a"],
"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 | Card uuid | string | |
| sn | Card SN | string | |
| timestamp | Timestamp | integer(int64) | |
| traceId | Request processing ID | string |
Response example:
{
"message": "操作成功",
"code": 200,
"result": {
"jobs": [
{
"jobId": "c5ebec444805454c97f8884804796dde",
"code": 200,
"sn": "OR65Q61QC2D240403252",
"message": "success",
"uuid": "ef8f33d103ffc9b79af8709397e3d559"
}
]
},
"timestamp": 1742985329522,
"traceId": "E20250326183529385229"
}
3. Card paginated list
API address: /v2/card/page/list
Request method: POST
Request data type: application/json
Response data type: */*,application/json
Supported version: v1.2.0
API description:
Paginated query of requested board card list
Request parameters:
| Parameter name | Parameter description | Location | Whether required | Data type | Description |
|---|---|---|---|---|---|
| nodeUuids | Node uuid list | body | false | List |
Filter condition |
| armCardSns | Card SN | body | false | List |
Filter condition, query by specified card SN, maximum 200 |
| projectId | Project Id | body | false | string | Defaults to the current user's default project |
| hardwareModels | Compute model | body | false | List |
Filter condition |
| levels | Launch count | body | false | List |
Filter condition, 1 - 6 openings |
| tagIds | Tag Id | body | false | string | Filter condition, separate multiple values with commas |
| tagNames | Tag name | body | false | string | Filter condition, separate multiple values with commas |
| instanceLimits | Container count exceeded (0: not exceeded, 1: exceeded, -1: board card without containers created or bare board card) | body | false | List |
When the excess value is "-1", it indicates the card of a container that has not been created or a bare card; when the excess value is "1", it indicates the total number of containers created on the card>Launch count. When overage is "0", it means the total number of containers created on the board card = launch count |
| 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/card/page/list?time=1720774436&sign=3bbf04e6c524bc028d543148ea55447cad066f896431980e01d80488d1212807"
body:
{
"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 | Card uuid | string | |
| sn | Card SN | string | |
| ip | Card IP | string | |
| name | Card name | string | |
| status | Card status | integer | 1 normal, 3 abnormal, 30 NMS offline, 40 powered off |
| areaUuid | Region uuid | string | |
| areaName | Region name | string | |
| nodeUuid | Node uuid | string | |
| nodeName | Node name | string | |
| armServerUuid | Server uuid | string | |
| position | Card hardware location | string | |
| sortIndex | Card hardware sorting | integer | |
| level | Launch count | integer | 1 - 6 instances |
| hardwareModel | Hardware model | String | Orion865;Orion8G2;Cruise10 |
| hardwareCode | Container compute specification | string | Orion865_8C_12G;Cruise10_4C_4G |
| rom | rom version | string | |
| tagNames | Tag | list | |
| createType | Card type | integer | Card type: 1 is a card with containers, 2 is a bare card |
| armCardOfferingUuid | Card compute specification uuid | String | |
| createTime | Creation time | string | |
| instanceNum | Number of containers | integer | Number of containers, the actual number of containers on the board card |
| instanceLimit | Container count exceeded | integer | When the excess value is "-1", it indicates the card of a container that has not been created or a bare card; when the excess value is "1", it indicates the total number of containers created on the card>Launch count. When overage is "0", it means the total number of containers created on the board card = launch count |
| 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": {
"total": 10,
"current": 1,
"pages": 10,
"size": 1,
"records": [
{
"uuid": "03d0b1e9f4a90e067a3b92b338d586b9",
"sn": "OR65M62QC2D242406627",
"ip": "172.30.0.67",
"armServerUuid": "s-8c2c9cca5853789031ac60d332a2bdfd",
"status": 1,
"createTime": "2025-01-11 14:04:02",
"level": 4,
"position": "1-8",
"sortIndex": "7",
"areaUuid": "f2a584df5e91724a94a31a4a68b5dcd0",
"areaName": "华南",
"nodeUuid": "beb95a81559b894a92c9f1bb13c7aeba",
"nodeName": "qs-fs-pre",
"hardwareCode": "Orion865_2C_4G",
"name": "hf_auto_test-1",
"rom": "OR65L10CDA_V2.2.55_20250715_1708",
"tagNames": [
"HF自动化测试专用-勿动"
],
"createType": 1,
"armCardOfferingUuid": "f64a987692a711ef9b070242ac12000d",
"hardwareModel": "Orion865",
"status": 1,
"instanceNum": 4,
"instanceLimit": 0
}
]
},
"timestamp": 1755765049212,
"traceId": "C20250821163049212129"
}
4. Card details
API address: /v2/card/details/{uuid}
Request method: GET
Request data type: application/json
Response data type: */*,application/json
Supported version: v1.7.6
API description:
Query card resources in the system
Request parameters:
| Parameter name | Parameter description | Location | Whether required | Data type | Description |
|---|---|---|---|---|---|
| uuid | Card uuid | path | true | string |
Response parameters:
| Parameter name | Parameter description | Type | Description |
|---|---|---|---|
| code | Return code | integer(int32) | |
| message | Return processing message | string | |
| result | Returned data object | object | |
| uuid | Card uuid | string | |
| name | Card name | string | |
| sn | Card SN | string | Card SN |
| cloudVirtualIp | Card IP | string | Card IP |
| createType | Card type | integer | Card type: 1 is a card with containers, 2 is a bare card |
| refreshRate | Refresh rate | integer | |
| onlineStatus | Online status | integer | |
| status | Card status | integer | 1 normal, 3 abnormal, 30 NMS offline, 40 powered off |
| tagNames | Tag name | List |
|
| armCardOfferingUuid | Card compute specification uuid | string | |
| nodeName | Node name | string | |
| nodeUuid | Node uuid | string | |
| areaUuid | Region uuid | string | |
| areaName | Region name | string | |
| instanceNum | Number of containers created under the card | integer | |
| instanceOffering | Container compute specification | list<object> | Empty if the number of containers is 0 |
| uuid | Compute specification uuid | string | |
| name | Compute specification name | string | |
| level | Number of instances | integer | |
| cpu | cpu count | integer | |
| memory | Memory | integer | |
| instances | Container collection | list<object> | |
| uuid | Container uuid | string | |
| name | Container name | string | |
| ip | Container IP | string | |
| cceStatus | cce container status | string | native container status seen by docker ps command |
| cceImage | cce image | string | |
| mounts | cloud disk mount information | object | |
| cloudDriveUuid | cloud disk uuid | string | |
| mountPath | Mount directory | string | |
| instanceLimit | Container count exceeded | integer | When the excess value is "-1", it indicates the card of a container that has not been created or a bare card; when the excess value is "1", it indicates the total number of containers created on the card>Launch count. When overage is "0", it means the total number of containers created on the board card = launch count |
| ssh | ssh connection information | list<object> | |
| password | Password | string | |
| expired | Expiration time | string | |
| port | Port | integer | |
| ip | ip | string | |
| username | Account | string | |
| timestamp | Timestamp | integer(int64) | |
| traceId | Request processing ID | string |
Response example:
{
"message": "操作成功",
"code": 200,
"result": {
"nodeName": "office",
"instanceNum": 3,
"cloudVirtualIp": "172.31.1.18",
"createType": 1,
"nodeUuid": "91a07b982a616b5e5141247b1f6149bc",
"uuid": "c-054154bc2a86f4a1a9464f3fd7675356",
"refreshRate": 30,
"onlineStatus": 1,
"areaName": "TEST",
"name": "TEST-2",
"areaUuid": "1938e94db546063f258e4c8ecfb48871",
"sn": "OR65M22QC1E223700085",
"tagNames": [
"HF自动化测试专用-勿动"
],
"armCardOfferingUuid": "f64a987692a711ef9b070242ac12000d",
"instanceOffering": {
"uuid": "f06fba679ff711eea4070242ac120002",
"name": "Orion865",
"level": 3,
"memory": 4,
"cpu": 3
},
"instances": [
{
"cceStatus": "Up",
"ip": "10.255.0.5",
"name": "TEST-2-i1",
"cceImage": "172.31.0.5:3735/android10:1.0.143",
"uuid": "i-7685f9c1b819484bf15ddbaf643a6ae1"
}
],
"mounts": [
{
"mountPath": "/data/mount/mi802",
"cloudDriveUuid": "3e25ec2f7103483b8abc8e3cde49ebca"
},
{
"mountPath": "/data/mount/mi8029",
"cloudDriveUuid": "088234e7fbd149b0945d6428913577be"
}
],
"ssh": {
"password": "eyJtZXRhIjoiZXlKdVlXMWxJam9pZW5GNUlpd2lkSGx3WlNJNklqSXdJbjA9Iiwic2lnbiI6InBFZGZLaUhQQUpoRE9qWDFhbDM3TFE9PSJ9",
"expired": "2026-04-23 18:41:11",
"port": 2226,
"ip": "192.168.40.86",
"username": "172.31.1.54_22_32_1776940871987"
},
"status": 1,
"instanceLimit": 0
},
"timestamp": 1716969633383,
"traceId": "E20240529160033383074"
}
5. Card reboot
API address: /v2/card/powerReset
Request method: POST
Request data type: application/json
Response data type: */*,application/json
Supported version: v1.7.4
API description:
Batch restart specified cards
Note: restarting the board card will cause the containers under this board card to become unavailable
Request example. Replace parameter values in the actual request:
Request parameters
| Parameter name | Parameter description | Location | Whether required | Data type | Description |
|---|---|---|---|---|---|
| uuids | Card uuid collection | body | true | list |
Batch operation |
| callbackUrl | Notification callback address | body | false | string | POST request |
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> | |
| jobId | Task ID | string | |
| code | Task submission status code | integer | CorrespondingResponse status code table |
| message | Task submission description | string | |
| uuid | Card uuid | string | |
| nodeUuid | Card uuid | string | |
| sn | Card SN | string | |
| timestamp | Timestamp | integer(int64) | |
| traceId | Request processing ID | string |
Response example:
{
"code": 0,
"message": "操作成功",
"result": [
{
"jobId": "b59b5f35f7d743d3ad740b8df05277bf",
"code": 200,
"message": "success",
"nodeUuid": "91a07b982a616b5e5141247b1f6149bc",
"uuid": "ae674f4546c74bf48c00c211334f214a",
"sn": "OR65T31QC2D221000025"
}
],
"timestamp": 0,
"traceId": "20220708171922A029"
}
6. Card soft reboot
API address: /v2/card/reboot
Request method: POST
Request data type: application/json
Response data type: */*,application/json
Supported version: v1.19.0
API description:
Batch soft reboot specified cards
Note: restarting the board card will cause the containers under this board card to become unavailable
Request parameters
| Parameter name | Parameter description | Location | Whether required | Data type | Description |
|---|---|---|---|---|---|
| uuids | Card uuid collection | body | true | list |
Batch operation |
| callbackUrl | Notification callback address | body | false | string | POST request |
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 | |
| success | Success flag | boolean | |
| result | Returned data object | 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 | |
| nodeUuid | Node uuid | string | |
| sn | Card SN | string | |
| timestamp | Timestamp | integer(int64) | |
| traceId | Request processing ID | string |
Response example:
{
"code": 0,
"message": "操作成功",
"result": [
{
"jobId": "b59b5f35f7d743d3ad740b8df05277bf",
"code": 200,
"message": "success",
"nodeUuid": "91a07b982a616b5e5141247b1f6149bc",
"uuid": "ae674f4546c74bf48c00c211334f214a",
"sn": "OR65T31QC2D221000025"
}
],
"timestamp": 0,
"traceId": "20220708171922A029"
}
7. Available card quantity (for card usage request)
API address: /v1/arm/card/apply/available/num
Request method: POST
Request data type: application/json
Response data type: */*,application/json
Supported version: v1.18.0
API description:
Get the available number of boards
Request parameters:
| Parameter name | Parameter description | Location | Whether required | Data type | Description |
|---|---|---|---|---|---|
| nodeUuid | Node uuid | body | true | string | |
| armServerUuid | Server uuid | body | false | string | Optional. Can be passed through Get BMC server list Obtained from API |
| offeringUuid | Card specification uuid | body | true | string | Passed Get board compute specifications Obtained from API |
| snList | Card SN list | body | false | list | |
| armServerUuids | Server uuid list | body | false | list | Server uuid list |
| os | Operating system | body | false | string | Currently only supports Android and debian |
| osVersion | Operating system version | body | false | string | Version number of the operating system |
Request example
POST "/openapi/v1/arm/card/apply/available/num"
body:
{
"offeringUuid":"f64a987692a711ef9b070242ac12000d",
"nodeUuid":"81f62329436eed8f36d0595bf81b63db",
"armServerUuid":"s-08f5fb859a9d9161c2727bf57e586f02"
}
Response parameters:
| Parameter name | Parameter description | Type | Description |
|---|---|---|---|
| code | Return code | integer(int32) | |
| message | Return processing message | string | |
| result | Returned data object | object | |
| armCardNum | Number of available board cards | integer(int32) | |
| timestamp | Timestamp | integer(int64) | |
| traceId | Request processing ID | string |
Response example:
{
"message": "操作成功",
"code": 200,
"result": {
"armCardNum": 5
},
"timestamp": 1730201010116,
"traceId": "E20241029192330116567"
}
8. BMC server list (used for applying for board cards)
API address: /v1/arm/card/apply/ip/list
Request method: POST
Request data type: application/json
Response data type: */*,application/json
Supported version: v1.18.0
API description:
Get BMC server list
Request parameters:
| Parameter name | Parameter description | Location | Whether required | Data type | Description |
|---|---|---|---|---|---|
| nodeUuid | Node uuid | body | true | string |
Request example
Response parameters:
| Parameter name | Parameter description | Type | Description |
|---|---|---|---|
| code | Return code | integer(int32) | |
| message | Return processing message | string | |
| result | Returned data object | object | |
| ipList | ip list | list<object> | |
| ip | ip | string | |
| uuid | Server uuid | string | |
| timestamp | Timestamp | integer(int64) | |
| traceId | Request processing ID | string |
Response example: