Sensors Portal OpenAPI (神策业务门户)

OpenAPI for the Sensors Data business portal — the shared identity, tenancy and resource plane across every Sensors product. 64 operations for accounts (project-scoped and global), roles and permission points, resource and category registration, organisational attribute trees, duties, projects and platform management. This is the API an administrator uses to provision and de-provision access programmatically.

Documentation

Specifications

Other Resources

OpenAPI Specification

sensors-data-portal-identity-v2-openapi.yml Raw ↑
openapi: 3.0.1
info:
  description: 身份服务主要负责管理账号权限相关的接口,例如:账号、角色、权限点资源等
  title: 神策业务门户
  version: ''
servers:
- url: /api/v3/portal/v2
paths:
  /identity/account/list:
    get:
      description: 获取账号列表,包含账号的基本信息、角色的简要信息以及账号的扩展属性值;如需获取账号更多的详细信息,可使用「获取单个账号信息」接口获取;该接口支持翻页,每页最多返回 100
        条记录
      operationId: ListAccounts
      parameters:
      - description: 全局唯一的密钥,用于验证和授权访问 API 接口
        in: header
        name: api-key
        required: true
        schema:
          type: string
      - description: 项目名, 指定请求所属项目
        in: header
        name: sensorsdata-project
        required: true
        schema:
          type: string
      - description: 列表页号,默认值:1,取值范围:>=1
        example: 1
        in: query
        name: page_index
        schema:
          format: int32
          type: integer
      - description: 单页返回最大记录数, 默认值:20,取值范围:1-100
        example: 20
        in: query
        name: page_size
        schema:
          format: int32
          type: integer
      - description: 模糊搜索关键字,模糊匹配账号的 username 或 cname
        example: 张三
        in: query
        name: query
        schema:
          type: string
      - description: 扩展字段,多个字段使用英文逗号分隔,例如:last_access_time,xxx
        example: last_access_time
        in: query
        name: expand_field
        schema:
          type: string
      responses:
        default:
          content:
            application/json:
              example:
                code: SUCCESS
                data:
                  accounts:
                  - roles:
                    - name: analyst
                      cname: 管理员
                      id: 1
                    related_extra_attributes:
                    - attr_code: JOB
                      has_children_node: true
                      full_name: 集团/技术部
                      node_code: '4'
                      node_name: 技术部
                      desc: 集团技术部
                    account:
                      custom_params:
                        last_access_time: '2022-05-03 11:18:41'
                      create_time: '2022-05-03 11:18:41'
                      phone: '12399999999'
                      name: admin
                      cname: 管理员
                      expire_time: '2022-05-03 11:18:41'
                      is_global: true
                      disabled: false
                      id: 1
                      position: 销售
                      uuid: 38135721-2938-4585-b19b-396ceb910d88
                      email: demo@sensorsdata.com
                  page:
                    total: 100
                    current_page: 1
                    page_count: 100
                  extra_attributes_definitions:
                  - code: JOB
                    name: 职位
                    attr_value_scope: GLOBAL
                    id: 1
                    type: VALUE
                    desc: 职位属性
                request_id: '1'
              schema:
                $ref: '#/components/schemas/sensorsdata.portal.v2.api.ListAccountResponseHttpApiResult'
          description: sensorsdata.portal.v2.api.ListAccountResponse
      summary: 获取账号列表
      x-sd-openapi:
        responseClass: com.sensorsdata.portal.v2.api.ListAccountResponse
        isServerStreaming: false
        requestClass: com.sensorsdata.portal.v2.api.ListAccountRequest
        grpcServiceBase: com.sensorsdata.portal.v2.api.IdentityServiceGrpc.IdentityServiceImplBase
        internalDesc: classes in template for grpc service dynamic invoking
        isClientStreaming: false
  /identity/account/get:
    get:
      description: 获取单个账号信息;包括账号基本信息、账号关联的角色信息、账号扩展属性等;如果通过 id/uuid 无法查询到相应的账号,接口会返回「账号不存在」的错误
      operationId: GetAccount
      parameters:
      - description: 全局唯一的密钥,用于验证和授权访问 API 接口
        in: header
        name: api-key
        required: true
        schema:
          type: string
      - description: 项目名, 指定请求所属项目
        in: header
        name: sensorsdata-project
        required: true
        schema:
          type: string
      - description: 账号 id(id/uuid 任选一个,如果两个字段同时填充会报参数错误)
        example: '1'
        in: query
        name: id
        schema:
          type: string
      - description: 账号 uuid(id/uuid 任选一个,如果两个字段同时填充会报错)
        example: 38135721-2938-4585-b19b-396ceb910d88
        in: query
        name: uuid
        schema:
          type: string
      responses:
        default:
          content:
            application/json:
              example:
                code: SUCCESS
                data:
                  related_roles:
                  - update_time: '2022-01-01 00:00:00'
                    type_name: 系统角色
                    create_time: '2022-01-01 00:00:00'
                    role_type: SYSTEM_ROLE
                    name: admin
                    cname: 管理员
                    description: 管理员角色描述信息
                    is_project_customize_default_role: true
                    id: 1
                    create_user_cname: 管理员
                  related_extra_attributes:
                  - attr_code: JOB
                    has_children_node: true
                    full_name: 集团/技术部
                    node_code: '4'
                    node_name: 技术部
                    desc: 集团技术部
                  extra_attributes_definitions:
                  - code: JOB
                    name: 职位
                    attr_value_scope: GLOBAL
                    id: 1
                    type: VALUE
                    desc: 职位属性
                  account:
                    custom_params:
                      last_access_time: '2022-05-03 11:18:41'
                    create_time: '2022-05-03 11:18:41'
                    phone: '12399999999'
                    name: admin
                    cname: 管理员
                    expire_time: '2022-05-03 11:18:41'
                    is_global: true
                    disabled: false
                    id: 1
                    position: 销售
                    uuid: 38135721-2938-4585-b19b-396ceb910d88
                    email: demo@sensorsdata.com
                request_id: '1'
              schema:
                $ref: '#/components/schemas/sensorsdata.portal.v2.api.GetAccountResponseHttpApiResult'
          description: sensorsdata.portal.v2.api.GetAccountResponse
      summary: 获取单个账号
      x-sd-openapi:
        responseClass: com.sensorsdata.portal.v2.api.GetAccountResponse
        isServerStreaming: false
        requestClass: com.sensorsdata.portal.v2.api.AccountIdOrUuidRequest
        grpcServiceBase: com.sensorsdata.portal.v2.api.IdentityServiceGrpc.IdentityServiceImplBase
        internalDesc: classes in template for grpc service dynamic invoking
        isClientStreaming: false
  /identity/account/get-by-name:
    get:
      description: 获取单个账号信息;包括账号基本信息、账号关联的角色信息、账号扩展属性等;如果通过 name 无法查询到相应的账号,接口会返回「账号不存在」的错误
      operationId: GetAccountByName
      parameters:
      - description: 全局唯一的密钥,用于验证和授权访问 API 接口
        in: header
        name: api-key
        required: true
        schema:
          type: string
      - description: 项目名, 指定请求所属项目
        in: header
        name: sensorsdata-project
        required: true
        schema:
          type: string
      - description: 账号名称 必填
        example: lh@qq.com
        in: query
        name: account_name
        required: true
        schema:
          type: string
      - description: 是否平台账号
        example: true
        in: query
        name: is_global
        required: true
        schema:
          type: boolean
      responses:
        default:
          content:
            application/json:
              example:
                code: SUCCESS
                data:
                  related_roles:
                  - update_time: '2022-01-01 00:00:00'
                    type_name: 系统角色
                    create_time: '2022-01-01 00:00:00'
                    role_type: SYSTEM_ROLE
                    name: admin
                    cname: 管理员
                    description: 管理员角色描述信息
                    is_project_customize_default_role: true
                    id: 1
                    create_user_cname: 管理员
                  related_extra_attributes:
                  - attr_code: JOB
                    has_children_node: true
                    full_name: 集团/技术部
                    node_code: '4'
                    node_name: 技术部
                    desc: 集团技术部
                  extra_attributes_definitions:
                  - code: JOB
                    name: 职位
                    attr_value_scope: GLOBAL
                    id: 1
                    type: VALUE
                    desc: 职位属性
                  account:
                    custom_params:
                      last_access_time: '2022-05-03 11:18:41'
                    create_time: '2022-05-03 11:18:41'
                    phone: '12399999999'
                    name: admin
                    cname: 管理员
                    expire_time: '2022-05-03 11:18:41'
                    is_global: true
                    disabled: false
                    id: 1
                    position: 销售
                    uuid: 38135721-2938-4585-b19b-396ceb910d88
                    email: demo@sensorsdata.com
                request_id: '1'
              schema:
                $ref: '#/components/schemas/sensorsdata.portal.v2.api.GetAccountResponseHttpApiResult'
          description: sensorsdata.portal.v2.api.GetAccountResponse
      summary: 查询通过account name查询账号信息
      x-sd-openapi:
        responseClass: com.sensorsdata.portal.v2.api.GetAccountResponse
        isServerStreaming: false
        requestClass: com.sensorsdata.portal.v2.api.AccountNameRequest
        grpcServiceBase: com.sensorsdata.portal.v2.api.IdentityServiceGrpc.IdentityServiceImplBase
        internalDesc: classes in template for grpc service dynamic invoking
        isClientStreaming: false
  /identity/account/get-by-api-key:
    post:
      description: 根据 api-key 获取其绑定的账号基本信息;当请求体中 api_key 为空时,返回当前请求鉴权所用 api-key 对应的账号(whoami)。
      operationId: GetAccountByApiKey
      parameters:
      - description: 全局唯一的密钥,用于验证和授权访问 API 接口
        in: header
        name: api-key
        required: true
        schema:
          type: string
      - description: 项目名, 指定请求所属项目
        in: header
        name: sensorsdata-project
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/sensorsdata.portal.v2.api.GetAccountByApiKeyRequest'
        description: 「根据 api-key 获取账号」的请求对象
        required: false
      responses:
        default:
          content:
            application/json:
              example:
                code: SUCCESS
                data:
                  account:
                    custom_params:
                      last_access_time: '2022-05-03 11:18:41'
                    create_time: '2022-05-03 11:18:41'
                    phone: '12399999999'
                    name: admin
                    cname: 管理员
                    expire_time: '2022-05-03 11:18:41'
                    is_global: true
                    disabled: false
                    id: 1
                    position: 销售
                    uuid: 38135721-2938-4585-b19b-396ceb910d88
                    email: demo@sensorsdata.com
                request_id: '1'
              schema:
                $ref: '#/components/schemas/sensorsdata.portal.v2.api.GetAccountByApiKeyResponseHttpApiResult'
          description: sensorsdata.portal.v2.api.GetAccountByApiKeyResponse
      summary: 根据 api-key 获取对应的账号信息
      x-sd-openapi:
        responseClass: com.sensorsdata.portal.v2.api.GetAccountByApiKeyResponse
        isServerStreaming: false
        requestClass: com.sensorsdata.portal.v2.api.GetAccountByApiKeyRequest
        grpcServiceBase: com.sensorsdata.portal.v2.api.IdentityServiceGrpc.IdentityServiceImplBase
        internalDesc: classes in template for grpc service dynamic invoking
        isClientStreaming: false
      x-codegen-request-body-name: GetAccountByApiKeyRequest
  /identity/account/project/invite:
    post:
      description: 邀请账号到某个项目中,并绑定职务和角色
      operationId: InviteAccountToProject
      parameters:
      - description: 全局唯一的密钥,用于验证和授权访问 API 接口
        in: header
        name: api-key
        required: true
        schema:
          type: string
      - description: 项目名, 指定请求所属项目
        in: header
        name: sensorsdata-project
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/sensorsdata.portal.v2.api.InviteAccountRequest'
        description: 「邀请账号」的请求对象
        required: false
      responses:
        default:
          content:
            application/json:
              example:
                code: SUCCESS
                data:
                  flag: true
                request_id: '1'
              schema:
                $ref: '#/components/schemas/sensorsdata.portal.v2.api.StatusResponseHttpApiResult'
          description: sensorsdata.portal.v2.api.StatusResponse
      summary: 邀请平台账号到项目中
      x-sd-openapi:
        responseClass: com.sensorsdata.portal.v2.api.StatusResponse
        isServerStreaming: false
        requestClass: com.sensorsdata.portal.v2.api.InviteAccountRequest
        grpcServiceBase: com.sensorsdata.portal.v2.api.IdentityServiceGrpc.IdentityServiceImplBase
        internalDesc: classes in template for grpc service dynamic invoking
        isClientStreaming: false
      x-codegen-request-body-name: InviteAccountRequest
  /identity/account/add:
    post:
      description: 新增账号,同时为账号绑定角色
      operationId: AddAccount
      parameters:
      - description: 全局唯一的密钥,用于验证和授权访问 API 接口
        in: header
        name: api-key
        required: true
        schema:
          type: string
      - description: 项目名, 指定请求所属项目
        in: header
        name: sensorsdata-project
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/sensorsdata.portal.v2.api.AddAccountRequest'
        description: 「新增账号」的请求对象
        required: false
      responses:
        default:
          content:
            application/json:
              example:
                code: SUCCESS
                data:
                  account:
                    custom_params:
                      last_access_time: '2022-05-03 11:18:41'
                    create_time: '2022-05-03 11:18:41'
                    phone: '12399999999'
                    name: admin
                    cname: 管理员
                    expire_time: '2022-05-03 11:18:41'
                    is_global: true
                    disabled: false
                    id: 1
                    position: 销售
                    uuid: 38135721-2938-4585-b19b-396ceb910d88
                    email: demo@sensorsdata.com
                request_id: '1'
              schema:
                $ref: '#/components/schemas/sensorsdata.portal.v2.api.AddAccountResponseHttpApiResult'
          description: sensorsdata.portal.v2.api.AddAccountResponse
      summary: 新增账号
      x-sd-openapi:
        responseClass: com.sensorsdata.portal.v2.api.AddAccountResponse
        isServerStreaming: false
        requestClass: com.sensorsdata.portal.v2.api.AddAccountRequest
        grpcServiceBase: com.sensorsdata.portal.v2.api.IdentityServiceGrpc.IdentityServiceImplBase
        internalDesc: classes in template for grpc service dynamic invoking
        isClientStreaming: false
      x-codegen-request-body-name: AddAccountRequest
  /identity/account/update:
    post:
      description: 修改账号信息,同时可以修改账号绑定的角色;根据请求参数中携带的 id/uuid 进行更新;如果通过 id/uuid 无法查询到相应的账号,接口会返回「账号不存在」的错误
      operationId: UpdateAccount
      parameters:
      - description: 全局唯一的密钥,用于验证和授权访问 API 接口
        in: header
        name: api-key
        required: true
        schema:
          type: string
      - description: 项目名, 指定请求所属项目
        in: header
        name: sensorsdata-project
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/sensorsdata.portal.v2.api.UpdateAccountRequest'
        description: 「修改账号信息」的请求对象
        required: false
      responses:
        default:
          content:
            application/json:
              example:
                code: SUCCESS
                data:
                  account:
                    custom_params:
                      last_access_time: '2022-05-03 11:18:41'
                    create_time: '2022-05-03 11:18:41'
                    phone: '12399999999'
                    name: admin
                    cname: 管理员
                    expire_time: '2022-05-03 11:18:41'
                    is_global: true
                    disabled: false
                    id: 1
                    position: 销售
                    uuid: 38135721-2938-4585-b19b-396ceb910d88
                    email: demo@sensorsdata.com
                request_id: '1'
              schema:
                $ref: '#/components/schemas/sensorsdata.portal.v2.api.UpdateAccountResponseHttpApiResult'
          description: sensorsdata.portal.v2.api.UpdateAccountResponse
      summary: 修改账号
      x-sd-openapi:
        responseClass: com.sensorsdata.portal.v2.api.UpdateAccountResponse
        isServerStreaming: false
        requestClass: com.sensorsdata.portal.v2.api.UpdateAccountRequest
        grpcServiceBase: com.sensorsdata.portal.v2.api.IdentityServiceGrpc.IdentityServiceImplBase
        internalDesc: classes in template for grpc service dynamic invoking
        isClientStreaming: false
      x-codegen-request-body-name: UpdateAccountRequest
  /identity/account/delete:
    post:
      description: 删除账号(软删除);如果只是想要临时禁用账号,后续会恢复该账号,可以使用「禁用账号」接口;如果通过 id/uuid 无法查询到相应的账号,接口会返回「账号不存在」的错误
      operationId: DeleteAccount
      parameters:
      - description: 全局唯一的密钥,用于验证和授权访问 API 接口
        in: header
        name: api-key
        required: true
        schema:
          type: string
      - description: 项目名, 指定请求所属项目
        in: header
        name: sensorsdata-project
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/sensorsdata.portal.v2.api.AccountIdOrUuidRequest'
        description: 「账号 id 或 uuid」的请求对象
        required: false
      responses:
        default:
          content:
            application/json:
              example:
                code: SUCCESS
                data:
                  flag: true
                request_id: '1'
              schema:
                $ref: '#/components/schemas/sensorsdata.portal.v2.api.StatusResponseHttpApiResult'
          description: sensorsdata.portal.v2.api.StatusResponse
      summary: 删除账号
      x-sd-openapi:
        responseClass: com.sensorsdata.portal.v2.api.StatusResponse
        isServerStreaming: false
        requestClass: com.sensorsdata.portal.v2.api.AccountIdOrUuidRequest
        grpcServiceBase: com.sensorsdata.portal.v2.api.IdentityServiceGrpc.IdentityServiceImplBase
        internalDesc: classes in template for grpc service dynamic invoking
        isClientStreaming: false
      x-codegen-request-body-name: AccountIdOrUuidRequest
  /identity/account/disable:
    post:
      description: 禁用账号;账号被禁用后,该账号将无法使用,但该账号对应的数据仍然被保留;被禁用的账号可以通过「启用账号」接口进行恢复
      operationId: DisableAccount
      parameters:
      - description: 全局唯一的密钥,用于验证和授权访问 API 接口
        in: header
        name: api-key
        required: true
        schema:
          type: string
      - description: 项目名, 指定请求所属项目
        in: header
        name: sensorsdata-project
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/sensorsdata.portal.v2.api.DisableAccountRequest'
        description: 「禁用账户」的请求对象
        required: false
      responses:
        default:
          content:
            application/json:
              example:
                code: SUCCESS
                data:
                  flag: true
                request_id: '1'
              schema:
                $ref: '#/components/schemas/sensorsdata.portal.v2.api.StatusResponseHttpApiResult'
          description: sensorsdata.portal.v2.api.StatusResponse
      summary: 禁用账号
      x-sd-openapi:
        responseClass: com.sensorsdata.portal.v2.api.StatusResponse
        isServerStreaming: false
        requestClass: com.sensorsdata.portal.v2.api.DisableAccountRequest
        grpcServiceBase: com.sensorsdata.portal.v2.api.IdentityServiceGrpc.IdentityServiceImplBase
        internalDesc: classes in template for grpc service dynamic invoking
        isClientStreaming: false
      x-codegen-request-body-name: DisableAccountRequest
  /identity/account/enable:
    post:
      description: 启用账号;启用被禁用的账号,可以指定账号启用后的过期时间,到达该过期时间之后,账号会被自动禁用
      operationId: EnableAccount
      parameters:
      - description: 全局唯一的密钥,用于验证和授权访问 API 接口
        in: header
        name: api-key
        required: true
        schema:
          type: string
      - description: 项目名, 指定请求所属项目
        in: header
        name: sensorsdata-project
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/sensorsdata.portal.v2.api.EnableAccountRequest'
        description: 「启用账户」的请求对象
        required: false
      responses:
        default:
          content:
            application/json:
              example:
                code: SUCCESS
                data:
                  flag: true
                request_id: '1'
              schema:
                $ref: '#/components/schemas/sensorsdata.portal.v2.api.StatusResponseHttpApiResult'
          description: sensorsdata.portal.v2.api.StatusResponse
      summary: 启用账号
      x-sd-openapi:
        responseClass: com.sensorsdata.portal.v2.api.StatusResponse
        isServerStreaming: false
        requestClass: com.sensorsdata.portal.v2.api.EnableAccountRequest
        grpcServiceBase: com.sensorsdata.portal.v2.api.IdentityServiceGrpc.IdentityServiceImplBase
        internalDesc: classes in template for grpc service dynamic invoking
        isClientStreaming: false
      x-codegen-request-body-name: EnableAccountRequest
  /identity/account/role/add:
    post:
      description: 新增账号关联的角色列表,接口幂等
      operationId: AddAccountRole
      parameters:
      - description: 全局唯一的密钥,用于验证和授权访问 API 接口
        in: header
        name: api-key
        required: true
        schema:
          type: string
      - description: 项目名, 指定请求所属项目
        in: header
        name: sensorsdata-project
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/sensorsdata.portal.v2.api.AccountRoleRequest'
        description: 账号角色请求对象
        required: false
      responses:
        default:
          content:
            application/json:
              example:
                code: SUCCESS
                data:
                  flag: true
                request_id: '1'
              schema:
                $ref: '#/components/schemas/sensorsdata.portal.v2.api.StatusResponseHttpApiResult'
          description: sensorsdata.portal.v2.api.StatusResponse
      summary: 新增账号关联的角色
      x-sd-openapi:
        responseClass: com.sensorsdata.portal.v2.api.StatusResponse
        isServerStreaming: false
        requestClass: com.sensorsdata.portal.v2.api.AccountRoleRequest
        grpcServiceBase: com.sensorsdata.portal.v2.api.IdentityServiceGrpc.IdentityServiceImplBase
        internalDesc: classes in template for grpc service dynamic invoking
        isClientStreaming: false
      x-codegen-request-body-name: AccountRoleRequest
  /identity/account/role/delete:
    post:
      description: 删除账号关联的角色列表,接口幂等
      operationId: DeleteAccountRole
      parameters:
      - description: 全局唯一的密钥,用于验证和授权访问 API 接口
        in: header
        name: api-key
        required: true
        schema:
          type: string
      - description: 项目名, 指定请求所属项目
        in: header
        name: sensorsdata-project
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/sensorsdata.portal.v2.api.AccountRoleRequest'
        description: 账号角色请求对象
        required: false
      responses:
        default:
          content:
            application/json:
              example:
                code: SUCCESS
                data:
                  flag: true
                request_id: '1'
              schema:
                $ref: '#/components/schemas/sensorsdata.portal.v2.api.StatusResponseHttpApiResult'
          description: sensorsdata.portal.v2.api.StatusResponse
      summary: 删除账号关联的角色
      x-sd-openapi:
        responseClass: com.sensorsdata.portal.v2.api.StatusResponse
        isServerStreaming: false
        requestClass: com.sensorsdata.portal.v2.api.AccountRoleRequest
        grpcServiceBase: com.sensorsdata.portal.v2.api.IdentityServiceGrpc.IdentityServiceImplBase
        internalDesc: classes in template for grpc service dynamic invoking
        isClientStreaming: false
      x-codegen-request-body-name: AccountRoleRequest
  /identity/global-account/add:
    post:
      description: 创建平台账号;新建平台账号,同时为账号关联项目信息、角色信息、职位信息等;如果账号已经存在,接口会返回「账号已经存在」的错误
      operationId: AddGlobalAccount
      parameters:
      - description: 全局唯一的密钥,用于验证和授权访问 API 接口
        in: header
        name: api-key
        required: true
        schema:
          type: string
      - description: 项目名, 指定请求所属项目
        in: header
        name: sensorsdata-project
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/sensorsdata.portal.v2.api.AddGlobalAccountRequest'
        description: 「新增平台账户」的请求对象
        required: false
      responses:
        default:
          content:
            application/json:
              example:
                code: SUCCESS
                data:
                  flag: true
                request_id: '1'
              schema:
                $ref: '#/components/schemas/sensorsdata.portal.v2.api.StatusResponseHttpApiResult'
          description: sensorsdata.portal.v2.api.StatusResponse
      summary: 创建平台账号
      x-sd-openapi:
        responseClass: com.sensorsdata.portal.v2.api.StatusResponse
        isServerStreaming: false
        requestClass: com.sensorsdata.portal.v2.api.AddGlobalAccountRequest
        grpcServiceBase: com.sensorsdata.portal.v2.api.IdentityServiceGrpc.IdentityServiceImplBase
        internalDesc: classes in template for grpc service dynamic invoking
        isClientStreaming: false
      x-codegen-request-body-name: AddGlobalAccountRequest
  /identity/global-account/update:
    post:
      description: 全量更新平台账号;账号 id 和 uuid 二选一填入;全量更新平台账号的基本信息、平台账号关联的项目信息、角色信息、职位信息等
      operationId: UpdateGlobalAccount
      parameters:
      - description: 全局唯一的密钥,用于验证和授权访问 API 接口
        in: header
        name: api-key
        required: true
        schema:
          type: string
      - description: 项目名, 指定请求所属项目
        in: header
        name: sensorsdata-project
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/sensorsdata.portal.v2.api.UpdateGlobalAccountRequest'
        description: 「更新平台账户」的请求对象
        required: false
      responses:
        default:
          content:
            application/json:
              example:
                code: SUCCESS
                data:
                  flag: true
                request_id: '1'
              schema:
                $ref: '#/components/schemas/sensorsdata.portal.v2.api.StatusResponseHttpApiResult'
          description: sensorsdata.portal.v2.api.StatusResponse
      summary: 更新平台账号
      x-sd-openapi:
        responseClass: com.sensorsdata.portal.v2.api.StatusResponse
        isServerStreaming: false
        requestClass: com.sensorsdata.portal.v2.api.UpdateGlobalAccountRequest
        grpcServiceBase: com.sensorsdata.portal.v2.api.IdentityServiceGrpc.IdentityServiceImplBase
        internalDesc: classes in template for grpc service dynamic invoking
        isClientStreaming: false
      x-codegen-request-body-name: UpdateGlobalAccountRequest
  /identity/global-account/delete:
    post:
      description: 移除平台账号;如果被删除的账号不是平台账号,接口会返回「不允许删除改账号」的错误
      operationId: DeleteGlobalAccount
      parameters:
      - description: 全局唯一的密钥,用于验证和授权访问 API 接口
        in: header
        name: api-key
        required: true
        schema:
          type: string
      - description: 项目名, 指定请求所属项目
        in: header
       

# --- truncated at 32 KB (189 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/sensors-data/refs/heads/main/openapi/sensors-data-portal-identity-v2-openapi.yml