Updated on 2026-07-29 GMT+08:00

Creating an OU

Function

This API is used to create an OU in a root or a parent OU. An OU is a container of accounts. It enables you to group your accounts to apply policies based on your business requirements. This API can be called only from the organization's management account.

Debugging

You can debug this API through automatic authentication in API Explorer or use the SDK sample code generated by API Explorer.

Authorization Information

Each account has all the permissions required to call all APIs, but IAM users must be assigned the required permissions.

  • If you are using role/policy-based authorization, see Permissions Policies and Supported Actions for details on the required permissions.
  • If you are using identity policy-based authorization, the following identity policy-based permissions are required.

    Action

    Access Level

    Resource Type (*: required)

    Condition Key

    Alias

    Dependencies

    organizations:ous:create

    Write

    ou

    g:ResourceTag/<tag-key>

    -

    organizations:resources:tag

    root

    g:ResourceTag/<tag-key>

    -

    • g:RequestTag/<tag-key>

    • g:TagKeys

URI

POST /v1/organizations/organizational-units

Request Parameters

Table 1 Request header parameters

Parameter

Mandatory

Type

Description

X-Security-Token

No

String

Definition

Security token (session token) of your temporary security credentials. If a temporary security credential is used, this header is required.

Constraints

N/A

Range

The value contains 0 to 32,768 characters.

Default Value

No default value

Table 2 Request body parameters

Parameter

Mandatory

Type

Description

name

Yes

String

Definition

Name of the new OU.

Constraints

Mandatory

Range

The value must comply with the regular expression ^[\u4e00-\u9fa5a-zA-Z0-9_- ]+$.

The value contains 1 to 64 characters.

Default Value

No default value

parent_id

Yes

String

Definition

Unique ID of the root OU or OU where you want to create a new OU.

Constraints

Mandatory

Range

The value must comply with the regular expression ^(?:r-[0-9a-z]{4,32}|ou-[0-9a-z]{8,32})$.

The value contains a maximum of 100 characters.

Default Value

No default value

tags

No

Array of TagDto objects

Definition

List of tags you want to attach to the new OU.

Constraints

N/A

Range

0 to 200 tags

Default Value

No default value

Table 3 TagDto

Parameter

Mandatory

Type

Description

key

Yes

String

Definition

Identifier or name of the tag key.

Constraints

Mandatory

Range

The value must comply with the regular expression ^((?!sys|\s)[\p{L}\p{Z}\p{N}.:=+-@]*[\p{L}\p{N}.:=+-@])$.

The value contains 1 to 128 characters.

Default Value

None

value

Yes

String

Definition

String value associated with the tag key. You can set the tag value to an empty string, but cannot set it to NULL.

Constraints

Mandatory

Range

The value must comply with the regular expression ^([\p{L}\p{Z}\p{N}_.:/=+-@]*)$.

The value contains 0 to 255 characters.

Default Value

None

Response Parameters

Status code: 201

Table 4 Response body parameters

Parameter

Type

Description

organizational_unit

OrganizationalUnitDto object

Definition

OU details.

Constraints

Mandatory

Range

N/A

Default Value

No default value

Table 5 OrganizationalUnitDto

Parameter

Type

Description

id

String

Definition

Unique ID of the OU.

Constraints

Mandatory

Range

The value must comply with the regular expression ^ou-[0-9a-z]{8,32}$.

The value contains 1 to 35 characters.

Default Value

No default value

urn

String

Definition

Uniform resource name of the OU.

Constraints

Mandatory

Range

The value contains 1 to 1,500 characters.

Default Value

No default value

name

String

Definition

Name of the OU.

Constraints

Mandatory

Range

The value must comply with the regular expression ^[\u4e00-\u9fa5a-zA-Z0-9_- ]+$.

The value contains 1 to 64 characters.

Default Value

No default value

created_at

String

Definition

Time when an OU was created

Constraints

Mandatory

Range

The value must be in ISO 8601 format.

Default Value

No default value

Example Requests

Creating an OU

POST https://{endpoint}/v1/organizations/organizational-units

{
  "name" : "autoOU0923152728692gqQc",
  "parent_id" : "ou-kz0blhbszb6w9a2lzb",
  "tags" : [ {
    "key" : "keystring",
    "value" : "keystring"
  } ]
}

Example Responses

Status code: 201

Successful

{
  "organizational_unit" : {
    "id" : "ou-fi0rv9jbjgc6nifokh65jjo8c24fnujv",
    "urn" : "organizations::0a6d25d23900d45c0faac010e0fb4de0:ou:o-fhkmi6mek7wlqdp6nideqhb47qwtjdsv/ou-fi0rv9jbjgc6nifokh65jjo8c24fnujv",
    "name" : "autoOU0923152728692gqQc",
    "created_at" : "2022-09-23T07:27:28Z"
  }
}

Status Codes

Status Code

Description

201

Successful

Error Codes

See Error Codes.