Updated on 2026-02-05 GMT+08:00

Updating a Layout Field

Function

This API is used to update a layout field.

Calling Method

For details, see Calling APIs.

URI

PUT /v2/{project_id}/workspaces/{workspace_id}/soc/layouts/fields/{field_id}

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Definition

Project ID, which is used to specify the project that a resource belongs to. You can query the resources of a project by project ID. You can obtain the project ID from the API or console. Obtaining the Project ID

Constraints

N/A

Range

N/A

Default Value

N/A

workspace_id

Yes

String

Definition

Workspace ID.

Constraints

N/A

Range

N/A

Default Value

N/A

field_id

Yes

String

Field ID.

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

Definition

User token. You can obtain it by calling the IAM API for obtaining a user token. The user token is the value of X-Subject-Token in the response header. Obtaining a User Token

Constraints

N/A

Range

N/A

Default Value

N/A

content-type

Yes

String

Definition

Content type.

  • application/json;charset=UTF-8: common API request type

Constraints

N/A

Range

  • application/json;charset=UTF-8

Default Value

N/A

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

name

No

String

Field name.

description

No

String

Field description.

layout_id

No

String

Layout ID.

wizard_id

No

String

ID of the page associate with the field.

aopworkflow_id

No

String

ID of the workflow associated with the field.

aopworkflow_version_id

No

String

ID of the workflow version associated with the field.

playbook_id

No

String

ID of the playbook associated with the field.

playbook_version_id

No

String

ID of the playbook version associated with the field.

default_value

No

String

Default value.

display_type

No

String

Display type.

field_type

No

String

Field type, such as shorttext, radio, and grid.

extra_json

No

String

Additional JSON.

field_tooltip

No

String

Tool tips.

json_schema

No

String

JSON.

readonly

No

Boolean

Read-only mode. true: read-only. false: non-read-only.

required

No

Boolean

Whether the parameter is mandatory. true: Mandatory. false: Optional.

searchable

No

Boolean

Searchable or not. true: Searchable. false: Not searchable.

visible

No

Boolean

Visible or not. true: Visible. false: Invisible.

maintainable

No

Boolean

Maintainable or not. true: Maintainable. false: Not maintainable.

editable

No

Boolean

Editable or not. true: Editable. false: Not editable.

creatable

No

Boolean

Creatable or not. true: Yes. false: No.

boa_version

No

String

BOA base version.

Response Parameters

Status code: 200

Table 4 Response header parameters

Parameter

Type

Description

X-request-id

String

Request ID. Format: request_uuid-timestamp-hostname.

Table 5 Response body parameters

Parameter

Type

Description

id

String

Field ID.

cloud_pack_id

String

Subscription ID.

cloud_pack_name

String

Subscription package name.

dataclass_id

String

Data class ID.

cloud_pack_version

String

Subscription package version.

field_key

String

Field key.

name

String

Field name.

description

String

Field description.

en_description

String

Field description (en).

default_value

String

Default value.

en_default_value

String

Default value (en).

field_type

String

Field type, such as shorttext, radio, and grid.

extra_json

String

Additional JSON.

field_tooltip

String

Tool tips.

en_field_tooltip

String

Tool tips (en).

json_schema

String

JSON.

is_built_in

Boolean

Built-in or not. true: Built-in; false: Custom.

read_only

Boolean

Read-only mode. true: read-only. false: non-read-only.

required

Boolean

Whether the parameter is mandatory. true: Mandatory. false: Optional.

searchable

Boolean

Searchable or not. true: Searchable. false: Not searchable.

visible

Boolean

Visible or not. true: Visible. false: Invisible.

maintainable

Boolean

Maintainable or not. true: Maintainable. false: Not maintainable.

editable

Boolean

Editable or not. true: Editable. false: Not editable.

creatable

Boolean

Creatable or not. true: Yes. false: No.

creator_id

String

Creator ID.

creator_name

String

Creator name.

modifier_id

String

Modifier ID.

modifier_name

String

Modifier name.

create_time

String

Creation time.

update_time

String

Update time.

wizard_id

String

ID of the page associate with the field.

aopworkflow_id

String

ID of the workflow associated with the field.

aopworkflow_version_id

String

ID of the workflow version associated with the field.

playbook_id

String

ID of the playbook associated with the field.

playbook_version_id

String

ID of the playbook version associated with the field.

boa_version

String

BOA base version.

version

String

SecMaster edition.

Status code: 400

Table 6 Response header parameters

Parameter

Type

Description

X-request-id

String

Request ID. Format: request_uuid-timestamp-hostname.

Table 7 Response body parameters

Parameter

Type

Description

code

String

Definition

Error code.

Range

N/A

message

String

Definition

Error description.

Range

N/A

Example Requests

Request for updating a layout field.

{
  "visible" : false,
  "editable" : false,
  "description" : "description",
  "default_value" : "test",
  "creatable" : false,
  "required" : false,
  "searchable" : false,
  "display_type" : "treeInteract",
  "readonly" : false,
  "name" : "TEST",
  "extra_json" : "{\"name\":\"tree\",\"field_key\":\"tree\",\"editableInCurSpace\":false}",
  "maintainable" : false,
  "boa_version" : "v3"
}

Example Responses

Status code: 200

Request succeeded.

{
  "boa_version" : "v3",
  "creatable" : false,
  "create_time" : "2025-12-20T11:12:30Z+0800",
  "creator_id" : "7cdfd39950744fc1aff40555a94310f4",
  "creator_name" : "SCC_InfrastructureSecurityService",
  "default_value" : "test",
  "editable" : false,
  "extra_json" : "eyJuYW1lIjoi5qCRIiwiZmllbGRfa2V5IjoidHJlZSIsImVkaXRhYmxlSW5DdXJTcGFjZSI6ZmFsc2V9",
  "field_key" : "tree",
  "id" : "91c6674c-3e6e-422d-841e-036a0890801e",
  "is_built_in" : false,
  "maintainable" : false,
  "name" : "test_yRn2n",
  "required" : false,
  "searchable" : false,
  "update_time" : null,
  "visible" : false
}

SDK Sample Code

The SDK sample code is as follows.

Request for updating a layout field.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
package com.huaweicloud.sdk.test;

import com.huaweicloud.sdk.core.auth.ICredential;
import com.huaweicloud.sdk.core.auth.BasicCredentials;
import com.huaweicloud.sdk.core.exception.ConnectionException;
import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
import com.huaweicloud.sdk.core.exception.ServiceResponseException;
import com.huaweicloud.sdk.secmaster.v2.region.SecMasterRegion;
import com.huaweicloud.sdk.secmaster.v2.*;
import com.huaweicloud.sdk.secmaster.v2.model.*;


public class UpdateLayoutFieldSolution {

    public static void main(String[] args) {
        // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
        // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
        String ak = System.getenv("CLOUD_SDK_AK");
        String sk = System.getenv("CLOUD_SDK_SK");
        String projectId = "{project_id}";

        ICredential auth = new BasicCredentials()
                .withProjectId(projectId)
                .withAk(ak)
                .withSk(sk);

        SecMasterClient client = SecMasterClient.newBuilder()
                .withCredential(auth)
                .withRegion(SecMasterRegion.valueOf("<YOUR REGION>"))
                .build();
        UpdateLayoutFieldRequest request = new UpdateLayoutFieldRequest();
        request.withWorkspaceId("{workspace_id}");
        request.withFieldId("{field_id}");
        UpdateLayoutFieldRequestBody body = new UpdateLayoutFieldRequestBody();
        body.withBoaVersion("v3");
        body.withCreatable(false);
        body.withEditable(false);
        body.withMaintainable(false);
        body.withVisible(false);
        body.withSearchable(false);
        body.withRequired(false);
        body.withReadonly(false);
        body.withExtraJson("{"name":"tree","field_key":"tree","editableInCurSpace":false}");
        body.withDisplayType("treeInteract");
        body.withDefaultValue("test");
        body.withDescription("description");
        body.withName("TEST");
        request.withBody(body);
        try {
            UpdateLayoutFieldResponse response = client.updateLayoutField(request);
            System.out.println(response.toString());
        } catch (ConnectionException e) {
            e.printStackTrace();
        } catch (RequestTimeoutException e) {
            e.printStackTrace();
        } catch (ServiceResponseException e) {
            e.printStackTrace();
            System.out.println(e.getHttpStatusCode());
            System.out.println(e.getRequestId());
            System.out.println(e.getErrorCode());
            System.out.println(e.getErrorMsg());
        }
    }
}

Request for updating a layout field.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# coding: utf-8

import os
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdksecmaster.v2.region.secmaster_region import SecMasterRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdksecmaster.v2 import *

if __name__ == "__main__":
    # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak = os.environ["CLOUD_SDK_AK"]
    sk = os.environ["CLOUD_SDK_SK"]
    projectId = "{project_id}"

    credentials = BasicCredentials(ak, sk, projectId)

    client = SecMasterClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(SecMasterRegion.value_of("<YOUR REGION>")) \
        .build()

    try:
        request = UpdateLayoutFieldRequest()
        request.workspace_id = "{workspace_id}"
        request.field_id = "{field_id}"
        request.body = UpdateLayoutFieldRequestBody(
            boa_version="v3",
            creatable=False,
            editable=False,
            maintainable=False,
            visible=False,
            searchable=False,
            required=False,
            readonly=False,
            extra_json="{"name":"tree","field_key":"tree","editableInCurSpace":false}",
            display_type="treeInteract",
            default_value="test",
            description="description",
            name="TEST"
        )
        response = client.update_layout_field(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)

Request for updating a layout field.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
package main

import (
	"fmt"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
    secmaster "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/secmaster/v2"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/secmaster/v2/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/secmaster/v2/region"
)

func main() {
    // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak := os.Getenv("CLOUD_SDK_AK")
    sk := os.Getenv("CLOUD_SDK_SK")
    projectId := "{project_id}"

    auth := basic.NewCredentialsBuilder().
        WithAk(ak).
        WithSk(sk).
        WithProjectId(projectId).
        Build()

    client := secmaster.NewSecMasterClient(
        secmaster.SecMasterClientBuilder().
            WithRegion(region.ValueOf("<YOUR REGION>")).
            WithCredential(auth).
            Build())

    request := &model.UpdateLayoutFieldRequest{}
	request.WorkspaceId = "{workspace_id}"
	request.FieldId = "{field_id}"
	boaVersionUpdateLayoutFieldRequestBody:= "v3"
	creatableUpdateLayoutFieldRequestBody:= false
	editableUpdateLayoutFieldRequestBody:= false
	maintainableUpdateLayoutFieldRequestBody:= false
	visibleUpdateLayoutFieldRequestBody:= false
	searchableUpdateLayoutFieldRequestBody:= false
	requiredUpdateLayoutFieldRequestBody:= false
	readonlyUpdateLayoutFieldRequestBody:= false
	extraJsonUpdateLayoutFieldRequestBody:= "{"name":"tree","field_key":"tree","editableInCurSpace":false}"
	displayTypeUpdateLayoutFieldRequestBody:= "treeInteract"
	defaultValueUpdateLayoutFieldRequestBody:= "test"
	descriptionUpdateLayoutFieldRequestBody:= "description"
	nameUpdateLayoutFieldRequestBody:= "TEST"
	request.Body = &model.UpdateLayoutFieldRequestBody{
		BoaVersion: &boaVersionUpdateLayoutFieldRequestBody,
		Creatable: &creatableUpdateLayoutFieldRequestBody,
		Editable: &editableUpdateLayoutFieldRequestBody,
		Maintainable: &maintainableUpdateLayoutFieldRequestBody,
		Visible: &visibleUpdateLayoutFieldRequestBody,
		Searchable: &searchableUpdateLayoutFieldRequestBody,
		Required: &requiredUpdateLayoutFieldRequestBody,
		Readonly: &readonlyUpdateLayoutFieldRequestBody,
		ExtraJson: &extraJsonUpdateLayoutFieldRequestBody,
		DisplayType: &displayTypeUpdateLayoutFieldRequestBody,
		DefaultValue: &defaultValueUpdateLayoutFieldRequestBody,
		Description: &descriptionUpdateLayoutFieldRequestBody,
		Name: &nameUpdateLayoutFieldRequestBody,
	}
	response, err := client.UpdateLayoutField(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

For SDK sample code of more programming languages, see the Sample Code tab in API Explorer. SDK sample code can be automatically generated.

Status Codes

Status Code

Description

200

Request succeeded.

400

Request failed.

Error Codes

See Error Codes.