Skip to main content

user_account.proto

path mgmt/v1alpha1/user_account.proto

package mgmt.v1alpha1


Messages

AcceptTeamAccountInviteRequest

NameTypeDescription
tokenstringThe token that the user will use to accept the invite.

AcceptTeamAccountInviteResponse

NameTypeDescription
accountUserAccountThe account that the user was invited to.

AccountInvite

NameTypeDescription
idstringThe unique identifier of the invite.
account_idstringThe unique identifier of the account to invite the user to.
sender_user_idstringThe unique identifier of the user that sent the invite.
emailstringThe email of the user to invite.
tokenstringThe token that the user will use to accept the invite.
acceptedboolWhether or not the invite has been accepted.
created_atgoogle.protobuf.TimestampThe time when the invite was created.
updated_atgoogle.protobuf.TimestampThe time when the invite was last updated.
expires_atgoogle.protobuf.TimestampThe time when the invite expires.
roleAccountRoleThe role of the user to invite. Only used if RBAC is enabled.

AccountOnboardingConfig

NameTypeDescription
has_completed_onboardingboolWhether or not the account has completed onboarding.

AccountTemporalConfig

NameTypeDescription
urlstringThe temporal url for the account.
namespacestringThe temporal namespace for the account.
sync_job_queue_namestringThe temporal sync job queue name for the account.

AccountUser

NameTypeDescription
idstringThe unique identifier of the user.
namestringThe name of the user (if there is one)
imagestringThe image of the user (if there is one)
emailstringThe email of the user.
roleAccountRoleThe role of the user in the account. If RBAC is not enabled, will be unspecified.

ConvertPersonalToTeamAccountRequest

NameTypeDescription
namestringThe name of the team account
account_idoptional stringOptionally provide the personal account to convert. This may be used in break-glass scenarios where there are multiple personal accounts And we want to convert one of them. If not provided, it will find the first one and convert it, leaving the other.

ConvertPersonalToTeamAccountResponse

NameTypeDescription
account_idstringThe id of the team account (will be the same identifier as the personal account)
checkout_session_urloptional stringIf NeosyncCloud, will respond with a checkout session url so they can setup billing
new_personal_account_idstringThe identifier of the newly created personal account

CreateTeamAccountRequest

NameTypeDescription
namestringThe name of the team account

CreateTeamAccountResponse

NameTypeDescription
account_idstringThe unique identifier of the team account that was created.
checkout_session_urloptional stringIf NeosyncCloud, will respond with a checkout session url so they can setup billing

GetAccountBillingCheckoutSessionRequest

NameTypeDescription
account_idstringThe unique identifier of the account to get the billing checkout session for.

GetAccountBillingCheckoutSessionResponse

NameTypeDescription
checkout_session_urlstringThe url that will be redirected to

GetAccountBillingPortalSessionRequest

NameTypeDescription
account_idstringThe unique identifier of the account to get the billing portal session for.

GetAccountBillingPortalSessionResponse

NameTypeDescription
portal_session_urlstringThe url that will be redirected to

GetAccountOnboardingConfigRequest

NameTypeDescription
account_idstringThe unique identifier of the account to get the onboarding config for.

GetAccountOnboardingConfigResponse

NameTypeDescription
configAccountOnboardingConfigThe onboarding config for the account.

GetAccountStatusRequest

NameTypeDescription
account_idstringThe unique identifier of the account to get the status for.

GetAccountStatusResponse

NameTypeDescription
used_record_countuint64A count of the currently used records for the current billing period. This may go over the allowed record count depending on when the record count is polled by the metric system.
allowed_record_countoptional uint64The allowed record count. It will be null if there is no limit.
subscription_statusBillingStatusThe current subscription status determined by the billing system.

GetAccountTemporalConfigRequest

NameTypeDescription
account_idstringThe unique identifier of the account to get the temporal config for.

GetAccountTemporalConfigResponse

NameTypeDescription
configAccountTemporalConfigThe temporal config for the account.

GetBillingAccountsRequest

NameTypeDescription
account_idsrepeated stringOptional list of account identifiers to filter the response by

GetBillingAccountsResponse

NameTypeDescription
accountsrepeated UserAccountThe list of accounts that have a billing id.

GetSystemInformationRequest

NameTypeDescription

GetSystemInformationResponse

NameTypeDescription
versionstringThe Git tagged version
commitstringThe Git commit
compilerstringThe Go compiler flag that was used to build this version of Neosync
platformstringThe Go platform flag that was used to build this version of Neosync
build_dategoogle.protobuf.TimestampThe time when the build was created
licenseSystemLicenseThe license information for the system

GetTeamAccountInvitesRequest

NameTypeDescription
account_idstringThe unique identifier of the account to get the invites for.

GetTeamAccountInvitesResponse

NameTypeDescription
invitesrepeated AccountInviteThe list of invites for the account.

GetTeamAccountMembersRequest

NameTypeDescription
account_idstringThe unique identifier of the account to get the members for.

GetTeamAccountMembersResponse

NameTypeDescription
usersrepeated AccountUser

GetUserAccountsRequest

NameTypeDescription

GetUserAccountsResponse

NameTypeDescription
accountsrepeated UserAccountThe list of accounts that the user belongs to.

GetUserRequest

NameTypeDescription

GetUserResponse

NameTypeDescription
user_idstringThe unique identifier of the user that was retrieved.

InviteUserToTeamAccountRequest

NameTypeDescription
account_idstringThe unique identifier of the account to invite the user to.
emailstringThe email of the user to invite.
roleoptional AccountRoleThe role of the user to invite. Only used if RBAC is enabled.

InviteUserToTeamAccountResponse

NameTypeDescription
inviteAccountInviteThe invite that was created.

IsAccountStatusValidRequest

NameTypeDescription
account_idstringThe unique identifier of the account to get the status for.
requested_record_countoptional uint64An optional count of records to be added to the current usage for validation.

IsAccountStatusValidResponse

NameTypeDescription
is_validboolWhether or not the account is valid.
reasonoptional stringIf the account is not valid, a reason for why may be provided.
should_pollboolWhether or not the process should decide to continue polling for validitiy updates
account_statusAccountStatusThe current status of the account. Default is valid.
trial_expires_atoptional google.protobuf.TimestampThe time when the trial expires

IsUserInAccountRequest

NameTypeDescription
account_idstringThe unique identifier of the account to check if the user is in.

IsUserInAccountResponse

NameTypeDescription
okboolWhether or not the user is in the account.

RemoveTeamAccountInviteRequest

NameTypeDescription
idstringThe unique identifier of the invite to remove.

RemoveTeamAccountInviteResponse

NameTypeDescription

RemoveTeamAccountMemberRequest

NameTypeDescription
user_idstringThe unique identifier of the user to remove from the account.
account_idstringThe unique identifier of the account to remove the user from.

RemoveTeamAccountMemberResponse

NameTypeDescription

SetAccountOnboardingConfigRequest

NameTypeDescription
account_idstringThe unique identifier of the account to set the onboarding config for.
configAccountOnboardingConfigThe onboarding config to set for the account.

SetAccountOnboardingConfigResponse

NameTypeDescription
configAccountOnboardingConfigThe onboarding config that was set for the account.

SetAccountTemporalConfigRequest

NameTypeDescription
account_idstringThe unique identifier of the account to set the temporal config for.
configAccountTemporalConfigThe temporal config to set for the account.

SetAccountTemporalConfigResponse

NameTypeDescription
configAccountTemporalConfigThe temporal config that was set for the account.

SetBillingMeterEventRequest

NameTypeDescription
account_idstringThe unique identifier of the account to apply this metered event to.
event_namestringThe metered event name
valuestringThe value of the meter for the given time
event_idstringThe unique identifier of this metered event
timestampoptional uint64The time of the event in Unix Epoch format. Defaults to the current timestamp if not specified.

SetBillingMeterEventResponse

NameTypeDescription

SetPersonalAccountRequest

NameTypeDescription

SetPersonalAccountResponse

NameTypeDescription
account_idstringThe unique identifier of the personal account that was created.

SetUserRequest

NameTypeDescription

SetUserResponse

NameTypeDescription
user_idstringThe unique identifier of the user that was created.

SetUserRoleRequest

NameTypeDescription
account_idstringThe unique identifier of the account to apply this role to.
user_idstringThe unique identifier of the user that this will be applied to.
roleAccountRoleThe role that this user will obtain.

SetUserRoleResponse

NameTypeDescription

SystemLicense

NameTypeDescription
is_validboolWhether or not a valid license was found
expires_atgoogle.protobuf.TimestampThe time when the license expires
is_neosync_cloudboolWhether or not the license is for NeosyncCloud

UserAccount

NameTypeDescription
idstringThe unique identifier of the account
namestringThe account slug
typeUserAccountTypeThe type of account
has_stripe_customer_idboolWhether or not the account has an associated stripe customer id

Enums

AccountRole

NameNumberDescription
ACCOUNT_ROLE_UNSPECIFIED0Default value, this should not be used, but will default to ACCOUNT_ROLE_JOB_VIEWER
ACCOUNT_ROLE_ADMIN1Admin, can do anything in the account.
ACCOUNT_ROLE_JOB_DEVELOPER2Can view, edit jobs and connections
ACCOUNT_ROLE_JOB_VIEWER3Can view
ACCOUNT_ROLE_JOB_EXECUTOR4Can view and execute

AccountStatus

NameNumberDescription
ACCOUNT_STATUS_REASON_UNSPECIFIED0Default value, should be used when no reason is specified
ACCOUNT_STATUS_ACCOUNT_IN_EXPIRED_STATE3Account is currently in an expired state
ACCOUNT_STATUS_ACCOUNT_TRIAL_ACTIVE4The account is currently in an active trial period
ACCOUNT_STATUS_ACCOUNT_TRIAL_EXPIRED5The account is past the active trial period

BillingStatus

NameNumberDescription
BILLING_STATUS_UNSPECIFIED0
BILLING_STATUS_ACTIVE1Corresponds to a billing subscription and rolls up various states into active This may be split into the future to be more granular and mirror the underlying billing system
BILLING_STATUS_EXPIRED2If the system could not find any active subscriptions
BILLING_STATUS_TRIAL_ACTIVE3The account does not have an active subscription and is in a valid trial period
BILLING_STATUS_TRIAL_EXPIRED4The account does not have an active subscription and the trial period has ended

UserAccountType

NameNumberDescription
USER_ACCOUNT_TYPE_UNSPECIFIED0
USER_ACCOUNT_TYPE_PERSONAL1A personal account is an account that is owned by a single user.
USER_ACCOUNT_TYPE_TEAM2A team account is an account that is owned by a team of users.
USER_ACCOUNT_TYPE_ENTERPRISE3An enterprise account is an account that is owned by an enterprise.

Services

UserAccountService

Service that manages users, accounts, and billing

GetUser

MethodGetUser
RequestGetUserRequest
ResponseGetUserResponse
DescriptionRetrieves the current user.

SetUser

MethodSetUser
RequestSetUserRequest
ResponseSetUserResponse
DescriptionSets the current user.

GetUserAccounts

MethodGetUserAccounts
RequestGetUserAccountsRequest
ResponseGetUserAccountsResponse
DescriptionRetrieves the list of accounts that the user belongs to.

SetPersonalAccount

MethodSetPersonalAccount
RequestSetPersonalAccountRequest
ResponseSetPersonalAccountResponse
DescriptionSets the current personal account.

ConvertPersonalToTeamAccount

MethodConvertPersonalToTeamAccount
RequestConvertPersonalToTeamAccountRequest
ResponseConvertPersonalToTeamAccountResponse
DescriptionConvert a personal account to a team account retaining all of the jobs and connections. This will also create a new empty personal account.

CreateTeamAccount

MethodCreateTeamAccount
RequestCreateTeamAccountRequest
ResponseCreateTeamAccountResponse
DescriptionCreates a new team account

IsUserInAccount

MethodIsUserInAccount
RequestIsUserInAccountRequest
ResponseIsUserInAccountResponse
DescriptionChecks if the user is in the account.

GetAccountTemporalConfig

MethodGetAccountTemporalConfig
RequestGetAccountTemporalConfigRequest
ResponseGetAccountTemporalConfigResponse
DescriptionRetrieves the temporal config for the account.

SetAccountTemporalConfig

MethodSetAccountTemporalConfig
RequestSetAccountTemporalConfigRequest
ResponseSetAccountTemporalConfigResponse
DescriptionSets the temporal config for the account.

GetTeamAccountMembers

MethodGetTeamAccountMembers
RequestGetTeamAccountMembersRequest
ResponseGetTeamAccountMembersResponse
DescriptionRetrieves the list of members in the team account.

RemoveTeamAccountMember

MethodRemoveTeamAccountMember
RequestRemoveTeamAccountMemberRequest
ResponseRemoveTeamAccountMemberResponse
DescriptionRemoves a member from the team account.

InviteUserToTeamAccount

MethodInviteUserToTeamAccount
RequestInviteUserToTeamAccountRequest
ResponseInviteUserToTeamAccountResponse
DescriptionInvites a user to the team account.

GetTeamAccountInvites

MethodGetTeamAccountInvites
RequestGetTeamAccountInvitesRequest
ResponseGetTeamAccountInvitesResponse
DescriptionRetrieves the list of invites for the team account.

RemoveTeamAccountInvite

MethodRemoveTeamAccountInvite
RequestRemoveTeamAccountInviteRequest
ResponseRemoveTeamAccountInviteResponse
DescriptionRemoves an invite from the team account.

AcceptTeamAccountInvite

MethodAcceptTeamAccountInvite
RequestAcceptTeamAccountInviteRequest
ResponseAcceptTeamAccountInviteResponse
DescriptionAccepts an invite to the team account.

GetSystemInformation

MethodGetSystemInformation
RequestGetSystemInformationRequest
ResponseGetSystemInformationResponse
DescriptionRetrieves the system information.

GetAccountOnboardingConfig

MethodGetAccountOnboardingConfig
RequestGetAccountOnboardingConfigRequest
ResponseGetAccountOnboardingConfigResponse
DescriptionRetrieves the onboarding config for the account.

SetAccountOnboardingConfig

MethodSetAccountOnboardingConfig
RequestSetAccountOnboardingConfigRequest
ResponseSetAccountOnboardingConfigResponse
DescriptionSets the onboarding config for the account.

GetAccountStatus

MethodGetAccountStatus
RequestGetAccountStatusRequest
ResponseGetAccountStatusResponse
DescriptionReturns different metrics on the account status for the active billing period

IsAccountStatusValid

MethodIsAccountStatusValid
RequestIsAccountStatusValidRequest
ResponseIsAccountStatusValidResponse
DescriptionDistils the account status down to whether not it is in a valid state.

GetAccountBillingCheckoutSession

MethodGetAccountBillingCheckoutSession
RequestGetAccountBillingCheckoutSessionRequest
ResponseGetAccountBillingCheckoutSessionResponse
DescriptionReturns a new checkout session for the account to subscribe

GetAccountBillingPortalSession

MethodGetAccountBillingPortalSession
RequestGetAccountBillingPortalSessionRequest
ResponseGetAccountBillingPortalSessionResponse
DescriptionReturns a new billing portal session if the account has a billing customer id

GetBillingAccounts

MethodGetBillingAccounts
RequestGetBillingAccountsRequest
ResponseGetBillingAccountsResponse
DescriptionReturns user accounts that have a billing id.

SetBillingMeterEvent

MethodSetBillingMeterEvent
RequestSetBillingMeterEventRequest
ResponseSetBillingMeterEventResponse
DescriptionSends a new metered event to the billing system

SetUserRole

MethodSetUserRole
RequestSetUserRoleRequest
ResponseSetUserRoleResponse
DescriptionSets the users role