siyuan-note/siyuan · error

[/api/av/batchSetAttributeViewBlockAttrs] parameter [rowID]

Error message

[/api/av/batchSetAttributeViewBlockAttrs] parameter [rowID] is deprecated, visit [https://github.com/siyuan-note/siyuan/issues/15727] for details

What it means

Error "[/api/av/batchSetAttributeViewBlockAttrs] parameter [rowID] is deprecated, visit [https://github.com/siyuan-note/siyuan/issues/15727] for details" thrown in siyuan-note/siyuan.

Source

Thrown at kernel/model/attribute_view.go:7598

func BatchUpdateAttributeViewCells(tx *Transaction, avID string, values []any) (err error) {
	attrView, err := av.ParseAttributeView(avID)
	if err != nil {
		return
	}

	for _, value := range values {
		v := value.(map[string]any)
		keyID := v["keyID"].(string)
		var itemID string
		if _, ok := v["itemID"]; ok {
			itemID = v["itemID"].(string)
		} else if _, ok := v["rowID"]; ok {
			// TODO 该参数将于 2026 年 12 月 1 日后删除
			itemID = v["rowID"].(string)
			msg := fmt.Sprintf("[%s] parameter [%s] is deprecated, visit [https://github.com/siyuan-note/siyuan/issues/15727] for details",
				"/api/av/batchSetAttributeViewBlockAttrs", "rowID")
			logging.LogWarn(msg)
			err = errors.New(msg)
			return
		}
		valueData := v["value"]
		_, err = updateAttributeViewValue(tx, attrView, keyID, itemID, valueData, false)
		if err != nil {
			return
		}
	}
	regenAttrViewGroups(attrView)
	if err = av.SaveAttributeView(attrView); err != nil {
		return
	}
	refreshRelatedSrcAvs(avID, tx)
	return
}

func UpdateAttributeViewCell(tx *Transaction, avID, keyID, itemID string, valueData any) (val *av.Value, err error) {
	attrView, err := av.ParseAttributeView(avID)

View on GitHub (pinned to 251596fc0d)

Solutions

  1. Use the parameter [itemID] instead of the deprecated [rowID] when calling /api/av/batchSetAttributeViewBlockAttrs.
  2. See https://github.com/siyuan-note/siyuan/issues/15727 for the migration details.

Example fix

POST /api/av/batchSetAttributeViewBlockAttrs with {"avID": "...", "itemID": "...", "attrs": {...}} instead of rowID.

When it happens

Trigger: A plugin or external integration calls /api/av/batchSetAttributeViewBlockAttrs with the deprecated [rowID] parameter.

Common situations: Occurs when a plugin or integration calls /api/av/batchSetAttributeViewBlockAttrs using the deprecated rowID parameter instead of itemID.


AI-assisted analysis of siyuan-note/siyuan@251596fc0d (2026-08-12). Data as JSON: /api/errors/b98018ad445350f7. Report an issue: GitHub.