Alphaus Iam API

(BETA) IAM API. Base URL: https://api.alphaus.cloud/m/blue

OpenAPI Specification

alphaus-iam-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  title: Blue API reference Admin Iam API
  description: 'Alphaus provides an API for interacting with its services. Blue API is a RESTful API that can be accessed by an HTTP client such as `curl`, or any HTTP library which is part of most modern programming languages. This API reference is autogenerated from [protocol buffers](https://developers.google.com/protocol-buffers) defined in this [repository](https://github.com/alphauslabs/blueapi), together with our supported [client libraries](https://alphauslabs.github.io/docs/blueapi/client-sdks/). See the official [documentation](https://alphauslabs.github.io/docs/blueapi/overview/) for more information.


    You may encounter the following feature maturity indicators:

    - **(WORK-IN-PROGRESS)** - Development is ongoing, don''t use yet;

    - **(BETA)** - New or experimental features, subject to changes; and

    - **(DEPRECATED)** - Outdated or replaced features.


    Some endpoints, especially those that return lists of resources, have streaming responses; newline-separated stream of “chunks”. Each chunk is an envelope that can contain either a response message or an error. Only the last chunk will include an error, if any.'
  version: v1
host: api.alphaus.cloud
basePath: /m/blue
schemes:
- https
consumes:
- application/json
produces:
- application/json
tags:
- name: Iam
  description: '(BETA) IAM API. Base URL: https://api.alphaus.cloud/m/blue'
  externalDocs:
    description: Service definition
    url: https://github.com/alphauslabs/blueapi/tree/main/iam/
paths:
  /iam/v1/apiclients:
    get:
      summary: Lists all API clients belonging to the caller.
      operationId: Iam_ListApiClients
      responses:
        '200':
          description: A successful response.(streaming responses)
          schema:
            type: object
            properties:
              result:
                $ref: '#/definitions/apiApiClient'
              error:
                $ref: '#/definitions/rpcStatus'
            title: Stream result of apiApiClient
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/rpcStatus'
      tags:
      - Iam
    post:
      summary: Creates an API client for the caller.
      operationId: Iam_CreateApiClient
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/apiApiClient'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/rpcStatus'
      parameters:
      - name: body
        description: Request message for the Iam.CreateApiClient rpc.
        in: body
        required: true
        schema:
          $ref: '#/definitions/v1CreateApiClientRequest'
      tags:
      - Iam
  /iam/v1/apiclients/{id}:
    delete:
      summary: Deletes an API client belonging to the caller.
      operationId: Iam_DeleteApiClient
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties: {}
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/rpcStatus'
      parameters:
      - name: id
        description: Required. The client id to delete.
        in: path
        required: true
        type: string
      tags:
      - Iam
  /iam/v1/experimentalui/preferences:
    get:
      summary: Gets experimental UI preferences for the authenticated MSP.
      operationId: Iam_GetExperimentalUIPreferences
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/v1GetExperimentalUIPreferencesResponse'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/rpcStatus'
      tags:
      - Iam
  /iam/v1/experimentalui/preferences/{componentId}:
    put:
      summary: Creates or updates an experimental UI preference for a specific component.
      operationId: Iam_UpsertExperimentalUIPreference
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/v1UpsertExperimentalUIPreferenceResponse'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/rpcStatus'
      parameters:
      - name: componentId
        description: The component identifier to create or update a preference for.
        in: path
        required: true
        type: string
      - name: body
        in: body
        required: true
        schema:
          $ref: '#/definitions/IamUpsertExperimentalUIPreferenceBody'
      tags:
      - Iam
  /iam/v1/grouprootusers:
    get:
      summary: 'WORK-IN-PROGRESS: Retrieves all the existing group root users asscoiated with the organization.'
      operationId: Iam_ListGroupRootUsers
      responses:
        '200':
          description: A successful response.(streaming responses)
          schema:
            type: object
            properties:
              result:
                $ref: '#/definitions/apiGroupRootUser'
              error:
                $ref: '#/definitions/rpcStatus'
            title: Stream result of apiGroupRootUser
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/rpcStatus'
      tags:
      - Iam
    post:
      summary: 'WORK-IN-PROGRESS: Creates a new root user for a billing group or access group.'
      operationId: Iam_CreateGroupRootUser
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/apiGroupRootUser'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/rpcStatus'
      parameters:
      - name: body
        in: body
        required: true
        schema:
          $ref: '#/definitions/v1CreateGroupRootUserRequest'
      tags:
      - Iam
  /iam/v1/grouprootusers/{id}:
    get:
      summary: 'WORK-IN-PROGRESS: Retrieves a group root user.'
      operationId: Iam_GetGroupRootUser
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/apiGroupRootUser'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/rpcStatus'
      parameters:
      - name: id
        in: path
        required: true
        type: string
      tags:
      - Iam
    delete:
      summary: 'WORK-IN-PROGRESS: Deletes an existing group root user.'
      operationId: Iam_DeleteGroupRootUser
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties: {}
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/rpcStatus'
      parameters:
      - name: id
        in: path
        required: true
        type: string
      tags:
      - Iam
  /iam/v1/grouprootusers/{id}/features:
    get:
      summary: 'WORK-IN-PROGRESS: Retrieves the features available to a user on an Alphaus product.'
      description: For a list of valid feature flags, see our documentation at https://labs.alphaus.cloud/docs/blueapi/apis/iam/.
      operationId: Iam_GetFeatureFlags
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/apiFeatureFlags'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/rpcStatus'
      parameters:
      - name: id
        in: path
        required: true
        type: string
      tags:
      - Iam
    put:
      summary: 'WORK-IN-PROGRESS: Updates the features available to a user on an Alphaus product.'
      description: For a list of valid feature flags, see our documentation at https://labs.alphaus.cloud/docs/blueapi/apis/iam/.
      operationId: Iam_UpdateFeatureFlags
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/apiFeatureFlags'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/rpcStatus'
      parameters:
      - name: id
        in: path
        required: true
        type: string
      - name: body
        in: body
        required: true
        schema:
          $ref: '#/definitions/IamUpdateFeatureFlagsBody'
      tags:
      - Iam
  /iam/v1/idps:
    get:
      summary: Lists all SSO Identity Providers (IdP).
      operationId: Iam_ListIdentityProviders
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/v1ListIdentityProvidersResponse'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/rpcStatus'
      tags:
      - Iam
    post:
      summary: Registers an SSO Identity Provider (IdP).
      operationId: Iam_CreateIdentityProvider
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties: {}
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/rpcStatus'
      parameters:
      - name: body
        description: Request message for the Iam.CreateIdentityProvider rpc.
        in: body
        required: true
        schema:
          $ref: '#/definitions/v1CreateIdentityProviderRequest'
      tags:
      - Iam
  /iam/v1/idps/{id}:
    delete:
      summary: Deletes an SSO Identity Provider (IdP).
      operationId: Iam_DeleteIdentityProvider
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties: {}
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/rpcStatus'
      parameters:
      - name: id
        description: Required. The IdP id to delete.
        in: path
        required: true
        type: string
      tags:
      - Iam
  /iam/v1/ipfilters:
    get:
      summary: Lists all IP filters. At the moment, this API is only available to root users.
      operationId: Iam_ListIpFilters
      responses:
        '200':
          description: A successful response.(streaming responses)
          schema:
            type: object
            properties:
              result:
                $ref: '#/definitions/v1IpFilter'
              error:
                $ref: '#/definitions/rpcStatus'
            title: Stream result of v1IpFilter
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/rpcStatus'
      tags:
      - Iam
    post:
      summary: Creates an IP filter item for IP blacklisting or whitelisting. At the moment, this API is only available to root users.
      operationId: Iam_CreateIpFilter
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/v1IpFilter'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/rpcStatus'
      parameters:
      - name: body
        description: Request message for the Iam.CreateIpFilter rpc.
        in: body
        required: true
        schema:
          $ref: '#/definitions/v1CreateIpFilterRequest'
      tags:
      - Iam
  /iam/v1/ipfilters/{id}:
    delete:
      summary: Deletes an IP filter item. At the moment, this API is only available to root users.
      operationId: Iam_DeleteIpFilter
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties: {}
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/rpcStatus'
      parameters:
      - name: id
        description: The IP filter id to delete.
        in: path
        required: true
        type: string
      tags:
      - Iam
  /iam/v1/metadata/{id}:
    get:
      summary: 'WORK-IN-PROGRESS: Get Sub User Metadata for login user''s organization based on user identity'
      operationId: Iam_GetSubUserMetadata
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/apiSubUser'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/rpcStatus'
      parameters:
      - name: id
        description: Required. The parent ID
        in: path
        required: true
        type: string
      - name: subId
        description: Optional. The sub-user ID
        in: query
        required: false
        type: string
      tags:
      - Iam
  /iam/v1/mfausers:
    get:
      summary: 'WORK-IN-PROGRESS: List MFA users info for login user''s organization based on status.'
      operationId: Iam_GetMFAUsers
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/v1MFAUsersInfoResponse'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/rpcStatus'
      parameters:
      - name: status
        description: 'Optional. If non empty: list users by status. Otherwise will list all MFA users.'
        in: query
        required: false
        type: string
      tags:
      - Iam
  /iam/v1/partners/{id}/token:
    post:
      summary: 'BETA: Creates a partner token for custom integrations. Available only to Ripple and Cover users.'
      operationId: Iam_CreatePartnerToken
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/v1PartnerToken'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/rpcStatus'
      parameters:
      - name: id
        description: Required. Partner id or audience for the token.
        in: path
        required: true
        type: string
      - name: body
        in: body
        required: true
        schema:
          $ref: '#/definitions/IamCreatePartnerTokenBody'
      tags:
      - Iam
  /iam/v1/partners/{id}/token:refresh:
    post:
      summary: 'BETA: Refreshes an expired partner token. Only partners are expected to call this API.'
      operationId: Iam_RefreshPartnerToken
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/v1PartnerToken'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/rpcStatus'
      parameters:
      - name: id
        description: Required. Partner id or audience for the token.
        in: path
        required: true
        type: string
      - name: body
        in: body
        required: true
        schema:
          $ref: '#/definitions/IamRefreshPartnerTokenBody'
      tags:
      - Iam
  /iam/v1/password:reset:
    post:
      summary: 'WORK-IN-PROGRESS: Validate reset password link and proceed to update password'
      operationId: Iam_ValidateResetPasswordLinkAndChangePassword
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/v1ValidateResetPasswordLinkAndChangePasswordResponse'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/rpcStatus'
      parameters:
      - name: body
        description: Request for message Iam.ValidateVerificationCode rpc.
        in: body
        required: true
        schema:
          $ref: '#/definitions/v1ValidateResetPasswordLinkAndChangePasswordRequest'
      tags:
      - Iam
  /iam/v1/permissions:
    get:
      summary: 'WORK-IN-PROGRESS: Lists all permissions based on the input''s scope. For reference, supported permissions can be found on [https://github.com/mobingi/rbac-permissions].'
      operationId: Iam_ListPermissions
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/v1ListPermissionsResponse'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/rpcStatus'
      parameters:
      - name: subUser
        description: Optional. The subuser to query. If empty (default), query all available permissions. If set to a valid subuser, query that subuser's permissions, if allowed. You can also set this field to `me` to query your own permissions.
        in: query
        required: false
        type: string
      tags:
      - Iam
  /iam/v1/ripple/password:requestresetcode:
    post:
      summary: 'WORK-IN-PROGRESS: Send an email reset code'
      operationId: Iam_SendRipplePasswordResetCode
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties: {}
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/rpcStatus'
      parameters:
      - name: body
        in: body
        required: true
        schema:
          $ref: '#/definitions/v1SendRipplePasswordResetCodeRequest'
      tags:
      - Iam
  /iam/v1/ripple/password:reset:
    post:
      summary: 'WORK-IN-PROGRESS: Reset ripple password using code from email'
      operationId: Iam_ResetRipplePassword
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/v1ResetRipplePasswordResponse'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/rpcStatus'
      parameters:
      - name: body
        in: body
        required: true
        schema:
          $ref: '#/definitions/v1ResetRipplePasswordRequest'
      tags:
      - Iam
  /iam/v1/roles:
    get:
      summary: 'WORK-IN-PROGRESS: Lists all available roles.'
      operationId: Iam_ListRoles
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/v1ListRolesResponse'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/rpcStatus'
      parameters:
      - name: namespace
        description: Optional. If not set, all roles will be returned.
        in: query
        required: false
        type: string
      tags:
      - Iam
    post:
      summary: 'WORK-IN-PROGRESS: Creates a role. If your `permissions` list contains an `Admin` entry, all other entries will be discarded except `Admin`. Roles are root user-level. That means all roles created by the root user, or any subuser that has permissions to create roles, are available to all subusers.'
      operationId: Iam_CreateRole
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/blueapiApiRole'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/rpcStatus'
      parameters:
      - name: body
        description: Request message for the Iam.CreateRole rpc.
        in: body
        required: true
        schema:
          $ref: '#/definitions/v1CreateRoleRequest'
      tags:
      - Iam
  /iam/v1/roles/{namespace}/{name}:
    delete:
      summary: 'WORK-IN-PROGRESS: Deletes a role. Deleting a role will also remove all mappings.'
      operationId: Iam_DeleteRole
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties: {}
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/rpcStatus'
      parameters:
      - name: namespace
        description: Required. The parent namespace.
        in: path
        required: true
        type: string
      - name: name
        description: Required. The role name to delete.
        in: path
        required: true
        type: string
      tags:
      - Iam
    put:
      summary: 'WORK-IN-PROGRESS: Updates a role. If role name is different, rename mapped role name.'
      operationId: Iam_UpdateRole
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/blueapiApiRole'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/rpcStatus'
      parameters:
      - name: namespace
        description: Required. The new namespace.
        in: path
        required: true
        type: string
      - name: name
        description: Required. The role name to update.
        in: path
        required: true
        type: string
      - name: body
        in: body
        required: true
        schema:
          $ref: '#/definitions/IamUpdateRoleBody'
      tags:
      - Iam
  /iam/v1/userroles:
    get:
      summary: 'WORK-IN-PROGRESS: Lists roles attached to the caller or the input.'
      operationId: Iam_ListUserRoleMappings
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/v1ListUserRoleMappingsResponse'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/rpcStatus'
      parameters:
      - name: subUser
        description: Optional. The subuser to query. Defaults to caller if not set.
        in: query
        required: false
        type: string
      tags:
      - Iam
    post:
      summary: 'WORK-IN-PROGRESS: Maps roles to a subuser. You can only map (or attach) up to 5 roles to a user per namespace. There is no limit for filtering rules per user.'
      operationId: Iam_CreateUserRoleMapping
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/v1CreateUserRoleMappingResponse'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/rpcStatus'
      parameters:
      - name: body
        description: Request message for the Iam.CreateUserRoleMapping rpc.
        in: body
        required: true
        schema:
          $ref: '#/definitions/v1CreateUserRoleMappingRequest'
      tags:
      - Iam
    put:
      summary: 'WORK-IN-PROGRESS: Updates user-to-role mappings. You can only map (or attach) up to 5 roles to a user per namespace. There is no limit for filtering rules per user.'
      operationId: Iam_UpdateUserRoleMapping
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/v1UpdateUserRoleMappingResponse'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/rpcStatus'
      parameters:
      - name: body
        description: Request message for the Iam.UpdateUserRoleMapping rpc.
        in: body
        required: true
        schema:
          $ref: '#/definitions/v1UpdateUserRoleMappingRequest'
      tags:
      - Iam
  /iam/v1/users:
    get:
      summary: Lists all subusers.
      operationId: Iam_ListUsers
      responses:
        '200':
          description: A successful response.(streaming responses)
          schema:
            type: object
            properties:
              result:
                $ref: '#/definitions/blueapiApiUser'
              error:
                $ref: '#/definitions/rpcStatus'
            title: Stream result of blueapiApiUser
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/rpcStatus'
      tags:
      - Iam
    post:
      summary: Creates a subuser.
      operationId: Iam_CreateUser
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/blueapiApiUser'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/rpcStatus'
      parameters:
      - name: body
        description: Request message for the Iam.CreateUser rpc.
        in: body
        required: true
        schema:
          $ref: '#/definitions/v1CreateUserRequest'
      tags:
      - Iam
  /iam/v1/users/{id}:
    get:
      summary: 'Gets subuser information. This call includes all of the subuser metadata. See

        [https://alphauslabs.github.io/blueapi/] for the list of supported attributes.

        If the `{name}` parameter is `me` or `-`, returns the caller information, which

        is equivalent to `WhoAmI()` or `GET:/iam/v*/whoami`.'
      operationId: Iam_GetUser
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/blueapiApiUser'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/rpcStatus'
      parameters:
      - name: id
        in: path
        required: true
        type: string
      tags:
      - Iam
    delete:
      summary: Deletes a subuser.
      operationId: Iam_DeleteUser
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties: {}
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/rpcStatus'
      parameters:
      - name: id
        description: Required. The subuser name to delete.
        in: path
        required: true
        type: string
      tags:
      - Iam
  /iam/v1/whoami:
    get:
      summary: 'Gets user information about the caller. This call includes all of the user metadata.

        See [https://alphauslabs.github.io/blueapi/] for the list of supported attributes.'
      operationId: Iam_WhoAmI
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/blueapiApiUser'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/rpcStatus'
      tags:
      - Iam
  /iam/v1/{domain}/account:unlock:
    post:
      summary: 'WORK-IN-PROGRESS: Unlocks ripple or wave user account.'
      operationId: Iam_UnlockUserAccount
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties: {}
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/rpcStatus'
      parameters:
      - name: domain
        description: Required. Valid values are 'ripple' and 'wave'
        in: path
        required: true
        type: string
      - name: body
        in: body
        required: true
        schema:
          $ref: '#/definitions/IamUnlockUserAccountBody'
      tags:
      - Iam
  /iam/v1/{user}/password:verify:
    post:
      summary: 'WORK-IN-PROGRESS: Verify User Input For Reset Password'
      operationId: Iam_VerifyUserForResetPassword
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/v1VerifyUserForResetPasswordResponse'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/rpcStatus'
      parameters:
      - name: user
        in: path
        required: true
        type: string
      tags:
      - Iam
definitions:
  IdentityProvidersamlInfo:
    type: object
    properties:
      metadata:
        type: string
  v1ResetRipplePasswordRequest:
    type: object
    properties:
      resetCode:
        type: string
        title: Required. Reset code from email
      newPassword:
        type: string
        title: Required. Atleast 8 characters
    title: Request message for resetting ripple password
  apiSubUserRole:
    type: object
    properties:
      roleId:
        type: string
        description: Role ID assigned to the sub-user.
      permissions:
        type: array
        items:
          type: string
        description: Permissions granted to the sub-user for this role.
      subUserId:
        type: string
        description: 'Temporary: Tracks the sub-user ID to verify the role is assigned to the correct user.

          This field will be removed after testing is complete.'
  v1MFAUsersInfoResponse:
    type: object
    properties:
      users:
        type: array
        items:
          type: object
          $ref: '#/definitions/v1MFAUser'
    description: Response message for the MFAUsersInfoResponse rpc.
  v1SendRipplePasswordResetCodeRequest:
    type: object
    properties:
      email:
        type: string
        title: Required. Ripple account email address
    title: Request message for ripple account password recovery
  apiUserRoleMapping:
    type: object
    properties:
      rootUser:
        type: string
      subUser:
        type: string
      namespace:
        type: string
      role:
        type: string
      filter:
        type: string
  v1UpdateUserRoleMappingRequest:
    type: object
    properties:
      subUser:
        type: string
        description: Optional. The subuser to map the roles. Defaults to caller if not set.
      roles:
        type: array
        items:
          type: object
          $ref: '#/definitions/v1MapRole'
        description: Required. The roles to map to the user. Limited to 5 items. Setting `role` to empty will remove the mapping.
    description: Request message for the Iam.UpdateUserRoleMapping rpc.
  apiPermission:
    type: object
    properties:
      namespace:
        type: string
      permissions:
        type: array
        items:
          type: string
      policies:
        type: array
        items:
          type: object
          $ref: '#/definitions/apiPolicy'
  v1VerifyUserForResetPasswordResponse:
    type: object
    properties:
      doesUserExists:
        type: boolean
    description: Response message for Iam.VerifyUserForResetPassword rpc.
  v1ValidateResetPasswordLinkAndChangePasswordRequest:
    type: object
    properties:
      originalEncodedCode:
        type: string
      userInputEncodedCode:
        type: string
    description: Request for message Iam.ValidateVerificationCode rpc.
  v1MapRole:
    type: object
    properties:
      namespace:
        type: string
      role:
        type: string
  rpcStatus:
    type: object
    properties:
      code:
        type: integer
        format: int32
        description: The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
      message:
        type: string
        description: 'A developer-facing error message, which should be in English. Any

          user-facing error message should be localized and sent in the

          [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.'
      details:
        type: array
        items:
          type: object
          $ref: '#/definitions/protobufAny'
        description: 'A list of messages that carry the error details.  There is a common set of

          message types for APIs to use.'
    description: 'The `Status` type defines a logical error model that is suitable for

      different programming environments, including REST APIs and RPC APIs. It is

      used by [gRPC](https://github.com/grpc). Each `Status` message contains

      three pieces of data: error code, error message, and error details.


      You can find out more about this error model and how to work with it in the

      [API Design Guide](https://cloud.google.com/apis/design/errors).'
  v1CreateApiClientRequest:
    type: object
    properties:
      name:
        type: string
        description: Required. The descriptive name of the API client to create.
    description: Request message for the Iam.CreateApiClient rpc.
  blueapiApiRole:
    type: object
    properties:
      name:
        type: string
      namespace:
        type: string
      permissions:
        type: array


# --- truncated at 32 KB (55 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/alphaus/refs/heads/main/openapi/alphaus-iam-api-openapi.yml