Skip to content

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:

POST "/openapi/v2/card/powerReset"
body:
{
    "uuids": [
        "uuid"
    ]
}

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:

POST "/openapi/v2/card/reboot"
body:
{
    "uuids": [
        "uuid"
    ]
}

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

POST "/openapi/v1/arm/card/apply/ip/list"
body:
{
    "nodeUuid":"81f62329436eed8f36d0595bf81b63db"
}

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:

{
    "message": "操作成功",
    "code": 200,
    "result": {
        "ipList": [
            {
                "ip": "172.31.0.3",
                "uuid": "s-08f5fb859a9d9161c2727bf57e586f02"
            }
        ]
    },
    "timestamp": 1730100772241,
    "traceId": "E20241028153252241108"
}