---
title: "获取设备物模型列表"
method: POST
path: "/api/v1/things/device/schema/index"
tags: ["things/device/schema", "thingsDeviceSchema"]
---

# 获取设备物模型列表

`POST /api/v1/things/device/schema/index`

## Request body

- DeviceSchemaIndexReq
  - `page` PageInfo
    - `page` integer — 页码
    - `size` integer — 每页大小
    - `orders` OrderBy[] — 排序
      - `field` string — 排序的字段名
      - `sort` integer — 排序方式：1 从小到大, 2 从大到小
  - `productID` string, required — 产品id
  - `deviceName` string, required
  - `type` integer — 物模型类型 1:property属性 2:event事件 3:action行为
  - `types` integer[]
  - `tag` integer — 过滤条件: 物模型标签 1:自定义 2:可选 3:必选
  - `identifiers` string[] — 过滤标识符列表
  - `name` string
  - `isCanSceneLinkage` integer — 是否可以场景联动
  - `funcGroup` integer — 功能分类: 1:普通功能 2:系统功能
  - `userPerm` integer — 用户权限操作: 1:r(只读) 3:rw(可读可写)
  - `propertyMode` string — 属性类型可用 读写类型: 1:r(只读) 2:rw(可读可写)
  - `controlMode` integer — 控制模式: 1: 可以群控,可以单控 2:只能单控
  - `withProductSchema` boolean — 同时获取产品物模型

## Response `200`

A successful response.

- object
  - `code` integer
  - `msg` string
  - `data` DeviceSchemaIndexResp
    - `list` DeviceSchema[], required — 分页信息,只获取一个则不填
      - `productID` string, required — 产品id 只读
      - `deviceName` string, required
      - `type` integer, required — 物模型类型 1:property属性 2:event事件 3:action行为
      - `tag` integer, required — 物模型标签 1:自定义 2:可选 3:必选 必选不可删除
      - `identifier` string, required — 标识符
      - `extendConfig` string — 拓展参数
      - `name` string — 功能名称
      - `desc` string — 描述
      - `required` integer — 是否必须 1:是 2:否
      - `affordance` string — 各功能类型的详细参数定义
      - `isCanSceneLinkage` integer — 是否可以场景联动
      - `funcGroup` integer — 功能分类: 1:普通功能 2:系统功能
      - `userPerm` integer — 用户权限操作: 1:r(只读) 3:rw(可读可写)
      - `isHistory` integer — 是否存储历史记录
      - `isPassword` integer — 是否是密码类型,密码类型需要加掩码
      - `order` integer — 排序
      - `controlMode` integer — 控制模式: 1: 可以群控,可以单控 2:只能单控
    - `page` integer — 页码
    - `pageSize` integer — 每页大小
    - `total` integer

## Changes

- **2025-03-14** `e87dbcac5d9e` — 2 breaking
  - removed the request body
  - removed the media type `application/json` for the response with the status `200`

[Change history](https://skmtc.dev/unitedrhino/apis/things-api/changes/api/v1/things/device/schema/index/post.md)

---

[API](https://skmtc.dev/unitedrhino/apis/things-api.md) · [All operations](https://skmtc.dev/unitedrhino/apis/things-api/llms.txt) · [OpenAPI document](https://skmtc.dev/unitedrhino/apis/things-api/revisions/02ecd5497a67?raw)
