Skip to content

invitation

Contents

InvitationService

Account Invitation Service provides APIs to invite new users to account.

CreateInvitation

rpc CreateInvitation(CreateInvitationRequest) Invitation

CreateInvitation API creates an invitation.

ListInvitations

rpc ListInvitations(ListInvitationsRequest) ListInvitationsResponse

ListInvitation API lists invitation in an Account/Tenant (Organization)/Project.

DeleteInvitation

rpc DeleteInvitation(DeleteInvitationRequest) .google.protobuf.Empty

DeleteInvitation deletes the specified invitation from the system.

GetInvitation

rpc GetInvitation(GetInvitationRequest) Invitation

GetInvitation deletes the specified invitation from the system.

AcceptInvitation

rpc AcceptInvitation(AcceptInvitationRequest) AcceptInvitationResponse

AcceptInvitation API accepts the invitation from the system.

NotifyUser

rpc NotifyUser(NotifyUserRequest) .google.protobuf.Empty

Notify re-send the mail notification to the user email in the invitation config.

Messages

AcceptInvitationRequest

AcceptInvitationRequest is the request message to accept an invitation.

Field Type Description
account_id string we need to pass account_id in the body as for first time acceptance of request, user would not have the context of account.

AcceptInvitationResponse

AcceptInvitationResponse is the response for AcceptInvitation API.

Field Type Description
message string Information of all the accepted invitations, can be used by UI to display count of accepted invites etc.

Config

Config represents the configuration of the invitation.

Field Type Description
user_email string Email address of the invited user.
access_policy public.portworx.platform.iam.v1.AccessPolicy Access policy defines access to control plane resources.
oneof resource_id.account_id string Account UID to which the user has been invited. User can be invited to multiple accounts.
oneof resource_id.tenant_id string Tenant (Organization) UID to which the user has been invited. User can be invited to multiple organizations.
oneof resource_id.project_id string Project UID to which the user has been invited. User can be invited to multiple projects.

CreateInvitationRequest

CreateInvitationRequest is the request message for invitation.

Field Type Description
invitation Invitation Invitation is of type invitation.

DeleteInvitationRequest

DeleteInvitationRequest is the request message for deleting an invitation.

Field Type Description
uid string UID is the unique ID of the invitation.
project_id string Project id, optional, if provided then invitation for specified project will be deleted.

GetInvitationRequest

InvitationGetRequest is the request message to get invitation details.

Field Type Description
uid string UID of the invitation.

Invitation

Invitation.

Field Type Description
meta public.portworx.common.v1.Meta Metadata of the invitation.
config Config Configuration of the invitation.
status Status Status information of the invitation.

ListInvitationsRequest

ListInvitationRequest is the request message for listing all invitations in an account.

Field Type Description
oneof resource_id.account_id string Account UID to which the user has been invited. User can be invited to multiple accounts.
oneof resource_id.tenant_id string Tenant (Organization) UID to which the user has been invited. User can be invited to multiple organizations.
oneof resource_id.project_id string Project UID to which the user has been invited. User can be invited to multiple projects.
pagination public.portworx.common.v1.PageBasedPaginationRequest Pagination parameters for listing invitations.
tenant_uid string Tenant (Organization) UID to which the user has been invited.
project_uid string Project UID to which the user has been invited.

ListInvitationsResponse

ListInvitationResponse is the response message for listing all invitations in an account.

Field Type Description
invitations repeated Invitation Invitations is the list of invitation.
pagination public.portworx.common.v1.PageBasedPaginationResponse Pagination metadata for this response. (-- api-linter: core::0132::response-unknown-fields=disabled aip.dev/not-precedent: We need this field for pagination. --)

NotifyUserRequest

NotifyRequest is the request message to notify user email in the invitation config.

Field Type Description
uid string UID of the invitation.

Status

Status represents the current status of invitation.

Field Type Description
reason string Textual information for the current state of the invitation.
phase Status.Phase Current state of the invitation.

Enums

Status.Phase

Phase represents the current state of the invitation. This will be useful later, when we support resend, expire flows. Currently only pending will be supported.

Name Number Description
PHASE_UNSPECIFIED 0 Invitation status unspecified.
PENDING 1 Invitation acceptance pending.
ACCEPTED 2 Invitation Accepted.

Scalar Value Types

.proto Type Notes C++ Type Java Type Python Type

double
double double float

float
float float float

int32
Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. int32 int int

int64
Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. int64 long int/long

uint32
Uses variable-length encoding. uint32 int int/long

uint64
Uses variable-length encoding. uint64 long int/long

sint32
Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int32 int int

sint64
Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int64 long int/long

fixed32
Always four bytes. More efficient than uint32 if values are often greater than 2^28. uint32 int int

fixed64
Always eight bytes. More efficient than uint64 if values are often greater than 2^56. uint64 long int/long

sfixed32
Always four bytes. int32 int int

sfixed64
Always eight bytes. int64 long int/long

bool
bool boolean boolean

string
A string must always contain UTF-8 encoded or 7-bit ASCII text. string String str/unicode

bytes
May contain any arbitrary sequence of bytes. string ByteString str