
# 邀请账号加入组织 - InviteAccount
#### 功能介绍
向另一个账号发送邀请，受邀账号将以成员账号加入您的组织。此操作只能由组织的管理账号调用。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/Organizations/doc?api=InviteAccount)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-organizations/org_04_0030.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                           | 访问级别  | 资源类型（\*为必须） | 条件键                                                                                                                                                                                                                                                                                                                  | 别名 | 依赖的授权项                      |
  |:---|:---|:---|:---|:---|:---|
  | organizations:accounts:invite | Write | -           | - g:RequestTag/\<tag-key\>   - g:TagKeys    | -  | organizations:resources:tag |
     
  
 
#### URI
POST /v1/organizations/accounts/invite
#### 请求参数
表1请求Header参数 
| 参数               | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| X-Security-Token | 否    | String | **参数解释**： 如果正在使用临时安全凭据，则此 header 是必需的，该值是临时安全凭据的安全令牌（会话令牌）。通过IAM服务的获取临时访问密钥接口获取临时安全凭据。 **约束限制**： 不涉及 **取值范围**： 不涉及字符类型限制。 最小长度0、最大长度32768。 **默认取值**： 不涉及 |
   
表2请求Body参数 
| 参数     | 是否必选 | 参数类型                                                      | 描述                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|:---|
| target | 是    | [TargetDto] object     | **参数解释**： 要邀请加入组织的账号的详细信息。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                                                  |
| notes  | 是    | String                                                    | **参数解释**： 给收件账号所有者的邮件中的附加信息。 **约束限制**： 不涉及 **取值范围**： 符合正则表达式：\^\[\\s\\S\]\*$ 最大长度1024。 **默认取值**： 不涉及 |
| tags   | 否    | Array of [TagDto] objects | **参数解释**： 要绑定到新创建的账号的标签列表。数组内元素为TagDto对象，包含标签键值对结构。 **约束限制**： 最少0个、最多200个。 **默认取值**： 不涉及                                                                                                                |
   
 表3TargetDto 
| 参数     | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|:---|
| type   | 是    | String | **参数解释**： 目标类型。account：账户id；name：账户名称。 **约束限制**： 不涉及 **取值范围**： account、name。 **默认取值**： 不涉及                                                                                                                                                                                       |
| entity | 是    | String | **参数解释**： 目标实体的值，账号ID可在Organizations控制台账号管理页面查看，或通过调用列出账号接口获取。 **约束限制**： 与type参数存在依赖关系：如果指定type:account，则必须提供账号ID作为实体；如果指定type:name，则必须指定账号名称作为实体。 **取值范围**： 当type为account时为账号ID（只能由英文字母、数字、下划线和连字符组成）；当type为name时为账号名称（只能以字母开头，由英文字母、数字、下划线和连字符组成）。最小长度1、最大长度100。 **默认取值**： 不涉及 |
   
 表4TagDto 
| 参数    | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| key   | 是    | String | **参数解释**： 标签键，用于标识标签的键名。 **约束限制**： 不涉及 **取值范围**： 符合正则表达式：\^((?!*sys* \|\\s)\[\\p{L}\\p{Z}\\p{N}*.:=+-@\]\*\[\\p{L}\\p{N}*.:=+-@\])$ 最小长度1、最大长度128。 **默认取值**： 不涉及 |
| value | 是    | String | **参数解释**： 与标签键关联的字符串值。可以将标签的值设置为空字符串。 **约束限制**： 不能将标签的值设置为NULL。 **取值范围**： 符合正则表达式：\^(\[\\p{L}\\p{Z}\\p{N}_.:/=+-@\]\*)$ 最小长度0、最大长度255。 **默认取值**： 不涉及             |
   
#### 响应参数
**状态码：200**
表5响应Body参数 
| 参数        | 参数类型                                                         | 描述                                                                                                                                      |
|:---|:---|:---|
| handshake | [HandshakeDto] object | **参数解释**： 邀请（握手）的详细信息。 **取值范围**： 不涉及 |
   
 表6HandshakeDto 
| 参数                      | 参数类型                                                   | 描述                                                                                                                                                                                                                                                   |
|:---|:---|:---|
| id                      | String                                                 | **参数解释**： 邀请（握手）的唯一标识符（ID）。源账号在发起邀请（握手）时创建ID。 **取值范围**： 符合正则表达式：\^h-\[0-9a-z\]{8,32}$ 最大长度34。                    |
| urn                     | String                                                 | **参数解释**： 邀请（握手）的统一资源名称。 **取值范围**： 符合URN格式，由英文字母、数字、冒号（:）、连字符（-）、正斜杠（/）等组成。最小长度1、最大长度1500。                                                        |
| updated_at              | String                                                 | **参数解释**： 邀请（握手）请求被接受、取消、拒绝或到期的日期和时间。UTC时间，格式为yyyy-MM-ddTHH:mm:ssZ，如2022-08-24T06:31:46Z。 **取值范围**： 不涉及。                                          |
| created_at              | String                                                 | **参数解释**： 提出邀请（握手）请求的日期和时间。UTC时间，格式为yyyy-MM-ddTHH:mm:ssZ，如2022-08-24T06:31:46Z。 **取值范围**： 不涉及。                                                    |
| expired_at              | String                                                 | **参数解释**： 邀请（握手）过期的日期和时间。UTC时间，格式为yyyy-MM-ddTHH:mm:ssZ，如2022-08-24T06:31:46Z。 **取值范围**： 不涉及。                                                      |
| management_account_id   | String                                                 | **参数解释**： 组织管理账号的唯一标识符（ID）。 **取值范围**： 符合正则表达式：\^\[\\w-\]+$ 最大长度64。                                               |
| management_account_name | String                                                 | **参数解释**： 组织管理账号的名称。 **取值范围**： 符合正则表达式：\^\[\\u4e00-\\u9fa5a-zA-Z0-9_- \]+$ 最大长度64。                               |
| organization_id         | String                                                 | **参数解释**： 组织的唯一标识符（ID）。 **取值范围**： 符合正则表达式：\^o-\[0-9a-z\]{10,32}$ 最大长度34。                                         |
| notes                   | String                                                 | **参数解释**： 给收件账号所有者的邮件中的附加信息。 **取值范围**： 符合正则表达式：\^\[\\s\\S\]\*$ 最大长度1024。                                         |
| target                  | [TargetDto] object | **参数解释**： 要邀请加入组织的账号的信息。 **取值范围**： 不涉及                                                                                                            |
| status                  | String                                                 | **参数解释**： 邀请（握手）的当前状态，pending：邀请中；accepted：接受邀请；cancelled：取消邀请；declined：拒绝邀请；expired：邀请过期。 **取值范围**： pending、accepted、cancelled、declined、expired。 |
   
 表7TargetDto 
| 参数     | 参数类型   | 描述                                                                                                                                                                                                                                                                                |
|:---|:---|:---|
| type   | String | **参数解释**： 目标类型。account：账户id；name：账户名称。 **取值范围**： account、name。                                                                                                                 |
| entity | String | **参数解释**： 目标实体的值，账号ID可在Organizations控制台账号管理页面查看，或通过调用列出账号接口获取。 **取值范围**： 当type为account时为账号ID（只能由英文字母、数字、下划线和连字符组成）；当type为name时为账号名称（只能以字母开头，由英文字母、数字、下划线和连字符组成）。最小长度1、最大长度100。 |
   
#### 请求示例
邀请账号加入组织
```
POST https://{endpoint}/v1/organizations/accounts/invite
{
  "target" : {
    "type" : "account",
    "entity" : "05c734152f00d4200f2bc0179ac6c5e0"
  },
  "notes" : "test-notes",
  "tags" : [ {
    "key" : "keystring",
    "value" : "valuestring"
  } ]
}
```
#### 响应示例
**状态码：200**
Successful.
```
{
  "handshake" : {
    "id" : "h-awjp43m7bz3b8jgy5v61jrfwakt3og8w",
    "urn" : "organizations::0a6d25d23900d45c0faac010e0fb4de0:handshake:o-fhkmi6mek7wlqdp6nideqhb47qwtjdsv/h-awjp43m7bz3b8jgy5v61jrfwakt3og8w",
    "updated_at" : "2022-08-25T08:11:53Z",
    "created_at" : "2022-08-25T08:11:20Z",
    "expired_at" : "2022-09-08T08:11:20Z",
    "management_account_id" : "0a6d25d23900d45c0faac010e0fb4de0",
    "management_account_name" : "paas_iam_573331",
    "organization_id" : "o-fhkmi6mek7wlqdp6nideqhb47qwtjdsv",
    "notes" : "test-notes",
    "target" : {
      "type" : "account",
      "entity" : "05c734152f00d4200f2bc0179ac6c5e0"
    },
    "status" : "pending"
  }
}
```
#### 状态码
| 状态码 | 描述          |
|:---|:---|
| 200 | Successful. |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-organizations/ErrorCode.html)。
