{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"PartnerEmployeeIngressService"},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"partneremployeeingressservice","__idx":0},"children":["PartnerEmployeeIngressService"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["API to take actions on behalf of an employee."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"http","header":{"controls":{"copy":{}}},"source":"Authorization: Bearer <token>\nx-identity-uuid: <employee_uuid>\nx-identity-type: EMPLOYEE\n","lang":"http"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"listcontributiontypesavailableforsetup","__idx":1},"children":["ListContributionTypesAvailableForSetup"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Provides list of available contribution types for the employee to configure contribution percentages for based on the company's plan configuration. I.e. if an employer does not enable Roth, then only Traditional would be available for the employee to contribute to."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"service PartnerEmployeeIngressService {\n  rpc ListContributionTypesAvailableForSetup(ListContributionTypesAvailableForSetupRequest) returns (ListContributionTypesAvailableForSetupResponse);\n}\n\nmessage ListContributionTypesAvailableForSetupRequest {}\n\nmessage ListContributionTypesAvailableForSetupResponse {\n  repeated ContributionType contribution_types = 1;\n}\n","lang":"protobuf"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Data types:"]}," ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/employees#contributiontype"},"children":["ContributionType"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"getemployeesetuplimits","__idx":2},"children":["GetEmployeeSetupLimits"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Provides the contributions to date and the employer match."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"service PartnerEmployeeIngressService {\n  rpc GetEmployeeSetupLimits(GetEmployeeSetupLimitsRequest) returns (GetEmployeeSetupLimitsResponse);\n}\n\nmessage GetEmployeeSetupLimitsRequest {}\n\nmessage GetEmployeeSetupLimitsResponse {\n  Money annual_deferrals_to_date = 1;\n  optional Money annual_match_to_date = 2;\n  optional Money annual_post_tax_contributions_to_date = 3;\n  repeated EmployerMatchTier employer_match_tiers = 4;\n}\n","lang":"protobuf"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Data types:"]}," ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/company-and-plan#employermatchtier"},"children":["EmployerMatchTier"]},", ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/common#money"},"children":["Money"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"getemployeesetupestimates","__idx":3},"children":["GetEmployeeSetupEstimates"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Provides estimates that can be used to help a user determine how much to contribute. Note: these are estimates with assumptions and this should be made clear to the employee."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"service PartnerEmployeeIngressService {\n  rpc GetEmployeeSetupEstimates(GetEmployeeSetupEstimatesRequest) returns (GetEmployeeSetupEstimatesResponse);\n}\n\nmessage GetEmployeeSetupEstimatesRequest {\n  Money est_annual_income = 1;\n  repeated ContributionInfo potential_contributions = 2;\n  optional Date as_of_date = 3;\n}\n\nmessage GetEmployeeSetupEstimatesResponse {\n  Money est_annual_employer_match = 1;\n  Money est_annual_employer_match_remaining = 2;\n  Money est_annual_deferral = 3;\n  optional Money est_annual_mbdr = 4;\n  Money est_retirement = 5;\n  Money est_per_paycheck_deferral = 6;\n  Money est_per_paycheck_employer_match = 7;\n  int32 max_out_month = 8;\n  optional Money est_per_paycheck_mbdr = 9;\n}\n","lang":"protobuf"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Data types:"]}," ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/employees#contributioninfo"},"children":["ContributionInfo"]},", ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/common#date"},"children":["Date"]},", ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/common#money"},"children":["Money"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"setemployeecontributionrates","__idx":4},"children":["SetEmployeeContributionRates"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Sets contribution rates when initiated by an employee."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"service PartnerEmployeeIngressService {\n  rpc SetEmployeeContributionRates(SetEmployeeContributionRatesRequest) returns (SetEmployeeContributionRatesResponse);\n}\n\nmessage SetEmployeeContributionRatesRequest {\n  repeated ContributionInfo employee_contributions = 1;\n}\n\nmessage SetEmployeeContributionRatesResponse {\n  EmployeeDetails.OnboardingStatus onboarding_status = 1;\n}\n","lang":"protobuf"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Data types:"]}," ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/employees#contributioninfo"},"children":["ContributionInfo"]},", ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/employees#employeedetails"},"children":["EmployeeDetails"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"getemployeecontributionrates","__idx":5},"children":["GetEmployeeContributionRates"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Returns contribution rates for an employee."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"service PartnerEmployeeIngressService {\n  rpc GetEmployeeContributionRates(GetEmployeeContributionRatesRequest) returns (GetEmployeeContributionRatesResponse);\n}\n\nmessage GetEmployeeContributionRatesRequest {}\n\nmessage GetEmployeeContributionRatesResponse {\n  repeated ContributionInfo employee_contributions = 1;\n  bool has_set_custom_rates = 2;\n}\n","lang":"protobuf"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Data types:"]}," ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/employees#contributioninfo"},"children":["ContributionInfo"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"listemployerselectedinvestmentoptions","__idx":6},"children":["ListEmployerSelectedInvestmentOptions"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["List of employer suggested investment options to provide as options to the employee. This corresponds to the investment options the employer selected during their onboarding."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"service PartnerEmployeeIngressService {\n  rpc ListEmployerSelectedInvestmentOptions(ListEmployerSelectedInvestmentOptionsRequest) returns (ListEmployerSelectedInvestmentOptionsResponse);\n}\n\nmessage ListEmployerSelectedInvestmentOptionsRequest {}\n\nmessage ListEmployerSelectedInvestmentOptionsResponse {\n  repeated AssetMetadata employer_selected_investment_options = 1;\n  bool has_bw = 2;\n  bool has_trm = 3;\n  int32 min_employer_selected_allocation_bps = 4;\n}\n","lang":"protobuf"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Data types:"]}," ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/accounts-and-investments#assetmetadata"},"children":["AssetMetadata"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"listretirementmortgageinvestmentoptions","__idx":7},"children":["ListRetirementMortgageInvestmentOptions"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["List of investment options available for the Retirement Mortgage."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"service PartnerEmployeeIngressService {\n  rpc ListRetirementMortgageInvestmentOptions(ListRetirementMortgageInvestmentOptionsRequest) returns (ListRetirementMortgageInvestmentOptionsResponse);\n}\n\nmessage ListRetirementMortgageInvestmentOptionsRequest {}\n\nmessage ListRetirementMortgageInvestmentOptionsResponse {\n  repeated AssetMetadata retirement_mortgage_investment_options = 1;\n}\n","lang":"protobuf"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Data types:"]}," ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/accounts-and-investments#assetmetadata"},"children":["AssetMetadata"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"searchbrokeragewindowinvestmentoptions","__idx":8},"children":["SearchBrokerageWindowInvestmentOptions"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Search within brokerage window, i.e. for a specific funds."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"service PartnerEmployeeIngressService {\n  rpc SearchBrokerageWindowInvestmentOptions(SearchBrokerageWindowInvestmentOptionsRequest) returns (SearchBrokerageWindowInvestmentOptionsResponse);\n}\n\nmessage SearchBrokerageWindowInvestmentOptionsRequest {\n  Search search = 1;\n}\n\nmessage SearchBrokerageWindowInvestmentOptionsResponse {\n  repeated AssetMetadata brokerage_window_investment_options = 1;\n}\n","lang":"protobuf"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Data types:"]}," ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/accounts-and-investments#assetmetadata"},"children":["AssetMetadata"]},", ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/common#search"},"children":["Search"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"defaultbrokeragewindowinvestmentoptions","__idx":9},"children":["DefaultBrokerageWindowInvestmentOptions"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Provides two lists that can be used wherever you are displaying the Brokerage Window search. One is a default list of common investment options and the other is the list of most popular selections in Brokerage Window within Basic Capital participants."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"service PartnerEmployeeIngressService {\n  rpc DefaultBrokerageWindowInvestmentOptions(DefaultBrokerageWindowInvestmentOptionsRequest) returns (DefaultBrokerageWindowInvestmentOptionsResponse);\n}\n\nmessage DefaultBrokerageWindowInvestmentOptionsRequest {}\n\nmessage DefaultBrokerageWindowInvestmentOptionsResponse {\n  repeated AssetMetadata default_brokerage_window_investment_options = 1;\n  repeated AssetMetadata most_popular_brokerage_window_investment_options = 2;\n}\n","lang":"protobuf"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Data types:"]}," ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/accounts-and-investments#assetmetadata"},"children":["AssetMetadata"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"getaccount","__idx":10},"children":["GetAccount"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Returns the account for a given account_uuid."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"service PartnerEmployeeIngressService {\n  rpc GetAccount(GetAccountRequest) returns (GetAccountResponse);\n}\n\nmessage GetAccountRequest {\n  string account_id = 1;\n}\n\nmessage GetAccountResponse {\n  optional Account account = 1;\n}\n","lang":"protobuf"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Data types:"]}," ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/accounts-and-investments#account"},"children":["Account"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"listaccounts","__idx":11},"children":["ListAccounts"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["List accounts for the employee."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"service PartnerEmployeeIngressService {\n  rpc ListAccounts(ListAccountsRequest) returns (ListAccountsResponse);\n}\n\nmessage ListAccountsRequest {}\n\nmessage ListAccountsResponse {\n  repeated string account_ids = 1 [deprecated = true];\n  repeated Account accounts = 2;\n}\n","lang":"protobuf"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Data types:"]}," ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/accounts-and-investments#account"},"children":["Account"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"setaccountinvestmentselections","__idx":12},"children":["SetAccountInvestmentSelections"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Set the investment allocations for an employee. For each selection you must provide if the selection is part of ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["EMPLOYER_SELECTED"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["BROKERAGE_WINDOW"]}," (if ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["has_bw"]}," is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]},"). If ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["has_trm"]}," is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]}," you will need to allow the employee to put a portion of their allocation towards the Retirement Mortgage — ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["has_trm"]}," is currently ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["false"]}," for every company while the Retirement Mortgage is unavailable. This is the only investment selection that does not require an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["asset_uuid"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Errors:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["MIN_EMPLOYER_SELECTED_UNMET"]},": if total selections with investment selection type ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["EMPLOYER_SELECTED"]}," is less than ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["min_employer_selected_allocation_bps"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ACCOUNT_ALLOCATION_REQUIREMENT_UNMET"]},": if total allocation across all selections is not equal to 100."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["MISSING_ASSET_UUID"]},": If you provide a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["BROKERAGE_WINDOW"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["EMPLOYER_SELECTED"]}," investment selection without an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["asset_uuid"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["EMPTY_SELECTIONS"]},": tried to make a selection with an empty list."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PLAN_ACCOUNT_NOT_FOUND"]},": account you are trying to update cannot be found."]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"service PartnerEmployeeIngressService {\n  rpc SetAccountInvestmentSelections(SetAccountInvestmentSelectionsRequest) returns (SetAccountInvestmentSelectionsResponse);\n}\n\nmessage SetAccountInvestmentSelectionsRequest {\n  optional string account_id = 1;\n  repeated AccountInvestmentSelection selections = 2;\n}\n\nmessage SetAccountInvestmentSelectionsResponse {\n  EmployeeDetails.OnboardingStatus onboarding_status = 1;\n}\n","lang":"protobuf"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Data types:"]}," ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/accounts-and-investments#accountinvestmentselection"},"children":["AccountInvestmentSelection"]},", ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/employees#employeedetails"},"children":["EmployeeDetails"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"setretirementmortgageinvestmentselections","__idx":13},"children":["SetRetirementMortgageInvestmentSelections"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Set the retirement mortgage investment allocations for an employee. These are the allocations for funds within the retirement mortgage bucket that is part of the full account allocation."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Errors:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["TRM_ALLOCATION_REQUIREMENT_UNMET"]},": if total allocation across all selections is not equal to 100."]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"service PartnerEmployeeIngressService {\n  rpc SetRetirementMortgageInvestmentSelections(SetRetirementMortgageInvestmentSelectionsRequest) returns (SetRetirementMortgageInvestmentSelectionsResponse);\n}\n\nmessage SetRetirementMortgageInvestmentSelectionsRequest {\n  optional string account_id = 1;\n  repeated TrmInvestmentSelection selections = 2;\n}\n\nmessage SetRetirementMortgageInvestmentSelectionsResponse {\n  EmployeeDetails.OnboardingStatus onboarding_status = 1;\n}\n","lang":"protobuf"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Data types:"]}," ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/employees#employeedetails"},"children":["EmployeeDetails"]},", ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/accounts-and-investments#trminvestmentselection"},"children":["TrmInvestmentSelection"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"getinvestmentselections","__idx":14},"children":["GetInvestmentSelections"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This can be used to fetch employee's currently set investment selections and includes the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AssetMetadata"]}," for each investment."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"service PartnerEmployeeIngressService {\n  rpc GetInvestmentSelections(GetInvestmentSelectionsRequest) returns (GetInvestmentSelectionsResponse);\n}\n\nmessage GetInvestmentSelectionsRequest {\n  optional string account_id = 1;\n}\n\nmessage GetInvestmentSelectionsResponse {\n  repeated AccountInvestmentSelections accounts = 1;\n}\n","lang":"protobuf"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Data types:"]}," ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/accounts-and-investments#accountinvestmentselections"},"children":["AccountInvestmentSelections"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"getemployeeonboardingstatus","__idx":15},"children":["GetEmployeeOnboardingStatus"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This contains information about where the employee is in onboarding and if agreements are ready to sign."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"service PartnerEmployeeIngressService {\n  rpc GetEmployeeOnboardingStatus(GetEmployeeOnboardingStatusRequest) returns (GetEmployeeOnboardingStatusResponse);\n}\n\nmessage GetEmployeeOnboardingStatusRequest {}\n\nmessage GetEmployeeOnboardingStatusResponse {\n  EmployeeDetails.OnboardingStatus onboarding_status = 1;\n}\n","lang":"protobuf"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Data types:"]}," ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/employees#employeedetails"},"children":["EmployeeDetails"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"getemployeeinvitetoken","__idx":16},"children":["GetEmployeeInviteToken"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Returns an invite token for the employee."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"service PartnerEmployeeIngressService {\n  rpc GetEmployeeInviteToken(GetEmployeeInviteTokenRequest) returns (GetEmployeeInviteTokenResponse);\n}\n\nmessage GetEmployeeInviteTokenRequest {}\n\nmessage GetEmployeeInviteTokenResponse {\n  string employee_invite_token = 1;\n}\n","lang":"protobuf"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"getemployeesummary","__idx":17},"children":["GetEmployeeSummary"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Returns an employee's account summary."]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Note:"]}," This is per account. To get the aggregate across Traditional and Roth you will need to do the addition on your side."]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"service PartnerEmployeeIngressService {\n  rpc GetEmployeeSummary(GetEmployeeSummaryRequest) returns (GetEmployeeSummaryResponse);\n}\n\nmessage GetEmployeeSummaryRequest {\n  optional Date on_date = 1;\n  optional string account_id = 2;\n}\n\nmessage GetEmployeeSummaryResponse {\n  message AccountEmployeeSummary {\n    string account_id = 1;\n    Money account_balance = 2;\n    Money deferrals_ytd = 3;\n    optional Money mbdr_contributions_ytd = 4;\n    Money total_contributions_ytd = 5;\n    optional Money employer_match_ytd = 6;\n  }\n\n  repeated AccountEmployeeSummary account_summary = 1;\n}\n","lang":"protobuf"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Data types:"]}," ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/common#date"},"children":["Date"]},", ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/common#money"},"children":["Money"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"getaccountholdingssummary","__idx":18},"children":["GetAccountHoldingsSummary"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Returns the holdings summary for a given account."]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Note:"]}," This is per account. To get the aggregate across traditional and Roth you will need to do the addition on your side."]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"service PartnerEmployeeIngressService {\n  rpc GetAccountHoldingsSummary(GetAccountHoldingsSummaryRequest) returns (GetAccountHoldingsSummaryResponse);\n}\n\nmessage GetAccountHoldingsSummaryRequest {\n  optional Date on_date = 1;\n  optional string account_id = 2;\n}\n\nmessage GetAccountHoldingsSummaryResponse {\n  message AccountHoldingsSummary {\n    message HoldingMetadata {\n      AssetMetadata metadata = 1;\n      int32 allocation_bps = 2;\n      int32 gain_or_loss_bps = 3;\n    }\n\n    Money net_asset_value = 2;\n    repeated HoldingMetadata holding_metadata = 3;\n    optional Date first_contribution_date = 4;\n  }\n\n  repeated AccountHoldingsSummary account_holdings_summary = 1;\n}\n","lang":"protobuf"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Data types:"]}," ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/common#date"},"children":["Date"]},", ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/common#money"},"children":["Money"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"listaccountholdingsperformance","__idx":19},"children":["ListAccountHoldingsPerformance"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Returns the holdings performance for a specific account over a given interval."]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Note:"]}," This is per-account. Because these are percentages, they are not additive. Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ListAggregateHoldingsPerformance"]}," for the aggregated performance across accounts. If no account id is provided, we will paginate over the union of all accounts."]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"service PartnerEmployeeIngressService {\n  rpc ListAccountHoldingsPerformance(ListAccountHoldingsPerformanceRequest) returns (ListAccountHoldingsPerformanceResponse);\n}\n\nmessage ListAccountHoldingsPerformanceRequest {\n  NonDiscreteIntervalRequest interval = 1;\n  optional string account_id = 2;\n  optional LookbackType lookback = 3;\n  optional com.basiccapital.common.external.PaginationRequest pagination = 4;\n}\n\nmessage ListAccountHoldingsPerformanceResponse {\n  message AccountDatedHoldingsPerformance {\n    repeated DatedHoldingsPerformance holdings_performance = 1;\n    string account_id = 2;\n  }\n\n  repeated AccountDatedHoldingsPerformance accounts = 1;\n  optional string next_page_token = 2;\n}\n","lang":"protobuf"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Data types:"]}," ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/accounts-and-investments#datedholdingsperformance"},"children":["DatedHoldingsPerformance"]},", ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/common#lookbacktype"},"children":["LookbackType"]},", ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/common#nondiscreteintervalrequest"},"children":["NonDiscreteIntervalRequest"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["See also:"]}," ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/integration-guide/performance"},"children":["Performance and data querying"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"listaggregateholdingsperformance","__idx":20},"children":["ListAggregateHoldingsPerformance"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Return holdings performance aggregated across all accounts over a given interval."]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Note:"]}," This aggregates across all accounts the employee has."]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"service PartnerEmployeeIngressService {\n  rpc ListAggregateHoldingsPerformance(ListAggregateHoldingsPerformanceRequest) returns (ListAggregateHoldingsPerformanceResponse);\n}\n\nmessage ListAggregateHoldingsPerformanceRequest {\n  NonDiscreteIntervalRequest interval = 1;\n  optional LookbackType lookback = 2;\n  optional com.basiccapital.common.external.PaginationRequest pagination = 3;\n}\n\nmessage ListAggregateHoldingsPerformanceResponse {\n  repeated DatedHoldingsPerformance holdings_performance = 1;\n  optional string next_page_token = 2;\n}\n","lang":"protobuf"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Data types:"]}," ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/accounts-and-investments#datedholdingsperformance"},"children":["DatedHoldingsPerformance"]},", ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/common#lookbacktype"},"children":["LookbackType"]},", ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/common#nondiscreteintervalrequest"},"children":["NonDiscreteIntervalRequest"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["See also:"]}," ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/integration-guide/performance"},"children":["Performance and data querying"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"getinvestmentupdateavailability","__idx":21},"children":["GetInvestmentUpdateAvailability"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Call this to determine if an account can be rebalanced."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"service PartnerEmployeeIngressService {\n  rpc GetInvestmentUpdateAvailability(GetInvestmentUpdateAvailabilityRequest) returns (GetInvestmentUpdateAvailabilityResponse);\n}\n\nmessage GetInvestmentUpdateAvailabilityRequest {\n  string account_id = 1;\n}\n\nmessage GetInvestmentUpdateAvailabilityResponse {\n  bool plan_account_rebalance_enabled = 1;\n  bool trm_rebalance_enabled = 2;\n  repeated string liquidate_only_asset_uuids = 3;\n}\n","lang":"protobuf"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"rebalanceaccountinvestmentselection","__idx":22},"children":["RebalanceAccountInvestmentSelection"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Rebalance a user's account holdings. Note: that in order to rebalance we sell all the holdings and reinvest them this is a different action than updating investment allocations for future contributions."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"service PartnerEmployeeIngressService {\n  rpc RebalanceAccountInvestmentSelection(RebalanceAccountInvestmentSelectionRequest) returns (RebalanceAccountInvestmentSelectionResponse);\n}\n\nmessage RebalanceAccountInvestmentSelectionRequest {\n  string account_id = 1;\n  repeated AccountInvestmentSelection selections = 2;\n}\n\nmessage RebalanceAccountInvestmentSelectionResponse {}\n","lang":"protobuf"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Data types:"]}," ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/accounts-and-investments#accountinvestmentselection"},"children":["AccountInvestmentSelection"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"rebalanceretirementmortgageinvestmentselections","__idx":23},"children":["RebalanceRetirementMortgageInvestmentSelections"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Rebalance a user's Retirement Mortgage holdings. Note: that in order to rebalance we sell all the holdings and re-invest them according to the new allocations. This is a different action than updating investment allocation for future contributions to the Retirement Mortgage."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"service PartnerEmployeeIngressService {\n  rpc RebalanceRetirementMortgageInvestmentSelections(RebalanceRetirementMortgageInvestmentSelectionsRequest) returns (RebalanceRetirementMortgageInvestmentSelectionsResponse);\n}\n\nmessage RebalanceRetirementMortgageInvestmentSelectionsRequest {\n  string account_id = 1;\n  repeated TrmInvestmentSelection selections = 2;\n  bool apply_allocations_to_future = 3;\n}\n\nmessage RebalanceRetirementMortgageInvestmentSelectionsResponse {}\n","lang":"protobuf"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Data types:"]}," ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/accounts-and-investments#trminvestmentselection"},"children":["TrmInvestmentSelection"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"createbeneficiaries","__idx":24},"children":["CreateBeneficiaries"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["If you create a Beneficiary before an employee has signed agreements the beneficiary status will be ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PENDING"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Allocations can be set per account. If no account id is provided we will apply to all accounts for a given Employee."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["You can have an allocation for a given account that is < 100%. The remaining percentage legally would go to the legal definition of the default beneficiary."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Errors",{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["If no allocations are provided."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["If an allocation of 0 is provided."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Provide an allocation for a specific account and an allocation with no account selected."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["If the total allocation for an account id is > 100% when creating this beneficiary allocations for accounts."]}]}]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"service PartnerEmployeeIngressService {\n  rpc CreateBeneficiaries(CreateBeneficiariesRequest) returns (CreateBeneficiariesResponse);\n}\n\nmessage CreateBeneficiariesRequest {\n  repeated BeneficiaryInfo beneficiary_data = 1;\n}\n\nmessage CreateBeneficiariesResponse {\n  repeated Beneficiary beneficiaries = 1;\n}\n","lang":"protobuf"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Data types:"]}," ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/beneficiaries#beneficiary"},"children":["Beneficiary"]},", ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/beneficiaries#beneficiaryinfo"},"children":["BeneficiaryInfo"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"getbeneficiary","__idx":25},"children":["GetBeneficiary"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Fetch a single beneficiary, including its allocations across accounts."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"service PartnerEmployeeIngressService {\n  rpc GetBeneficiary(GetBeneficiaryRequest) returns (GetBeneficiaryResponse);\n}\n\nmessage GetBeneficiaryRequest {\n  string beneficiary_uuid = 1;\n}\n\nmessage GetBeneficiaryResponse {\n  Beneficiary beneficiary = 1;\n}\n","lang":"protobuf"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Data types:"]}," ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/beneficiaries#beneficiary"},"children":["Beneficiary"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"updatebeneficiaries","__idx":26},"children":["UpdateBeneficiaries"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Updates one or more existing beneficiaries. Every field except ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["beneficiary_uuid"]}," is optional; omitted fields are left unchanged. Supplying an empty ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["allocation_info"]}," array leaves the existing allocations unchanged."]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Errors",{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["If the total allocation for an account id is > 100% when creating this beneficiary allocations for accounts."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Provide an allocation for a specific account and an allocation with no account selected."]}]}]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"service PartnerEmployeeIngressService {\n  rpc UpdateBeneficiaries(UpdateBeneficiariesRequest) returns (UpdateBeneficiariesResponse);\n}\n\nmessage UpdateBeneficiariesRequest {\n  repeated UpdateBeneficiaryInfo update_beneficiaries = 1;\n}\n\nmessage UpdateBeneficiariesResponse {\n  repeated Beneficiary beneficiaries = 1;\n}\n","lang":"protobuf"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Data types:"]}," ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/beneficiaries#beneficiary"},"children":["Beneficiary"]},", ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/beneficiaries#updatebeneficiaryinfo"},"children":["UpdateBeneficiaryInfo"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"listbeneficiaries","__idx":27},"children":["ListBeneficiaries"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Lists the employee's beneficiaries. Scope the result to one account with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["account_uuid"]},"; if it is omitted, beneficiaries across every account the employee has are returned."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"service PartnerEmployeeIngressService {\n  rpc ListBeneficiaries(ListBeneficiariesRequest) returns (ListBeneficiariesResponse);\n}\n\nmessage ListBeneficiariesRequest {\n  optional string account_uuid = 1;\n}\n\nmessage ListBeneficiariesResponse {\n  repeated Beneficiary beneficiaries = 1;\n}\n","lang":"protobuf"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Data types:"]}," ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/core-data-types/beneficiaries#beneficiary"},"children":["Beneficiary"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"deletebeneficiary","__idx":28},"children":["DeleteBeneficiary"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Since you can have less than 100% for a given account when a beneficiary is deleted we will keep all other allocations the same and the remaining percentage will go to the default beneficiary."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"protobuf","header":{"controls":{"copy":{}}},"source":"service PartnerEmployeeIngressService {\n  rpc DeleteBeneficiary(DeleteBeneficiaryRequest) returns (DeleteBeneficiaryResponse);\n}\n\nmessage DeleteBeneficiaryRequest {\n  string beneficiary_uuid = 1;\n}\n\nmessage DeleteBeneficiaryResponse {}\n","lang":"protobuf"},"children":[]}]},"headings":[{"value":"PartnerEmployeeIngressService","id":"partneremployeeingressservice","depth":1},{"value":"ListContributionTypesAvailableForSetup","id":"listcontributiontypesavailableforsetup","depth":2},{"value":"GetEmployeeSetupLimits","id":"getemployeesetuplimits","depth":2},{"value":"GetEmployeeSetupEstimates","id":"getemployeesetupestimates","depth":2},{"value":"SetEmployeeContributionRates","id":"setemployeecontributionrates","depth":2},{"value":"GetEmployeeContributionRates","id":"getemployeecontributionrates","depth":2},{"value":"ListEmployerSelectedInvestmentOptions","id":"listemployerselectedinvestmentoptions","depth":2},{"value":"ListRetirementMortgageInvestmentOptions","id":"listretirementmortgageinvestmentoptions","depth":2},{"value":"SearchBrokerageWindowInvestmentOptions","id":"searchbrokeragewindowinvestmentoptions","depth":2},{"value":"DefaultBrokerageWindowInvestmentOptions","id":"defaultbrokeragewindowinvestmentoptions","depth":2},{"value":"GetAccount","id":"getaccount","depth":2},{"value":"ListAccounts","id":"listaccounts","depth":2},{"value":"SetAccountInvestmentSelections","id":"setaccountinvestmentselections","depth":2},{"value":"SetRetirementMortgageInvestmentSelections","id":"setretirementmortgageinvestmentselections","depth":2},{"value":"GetInvestmentSelections","id":"getinvestmentselections","depth":2},{"value":"GetEmployeeOnboardingStatus","id":"getemployeeonboardingstatus","depth":2},{"value":"GetEmployeeInviteToken","id":"getemployeeinvitetoken","depth":2},{"value":"GetEmployeeSummary","id":"getemployeesummary","depth":2},{"value":"GetAccountHoldingsSummary","id":"getaccountholdingssummary","depth":2},{"value":"ListAccountHoldingsPerformance","id":"listaccountholdingsperformance","depth":2},{"value":"ListAggregateHoldingsPerformance","id":"listaggregateholdingsperformance","depth":2},{"value":"GetInvestmentUpdateAvailability","id":"getinvestmentupdateavailability","depth":2},{"value":"RebalanceAccountInvestmentSelection","id":"rebalanceaccountinvestmentselection","depth":2},{"value":"RebalanceRetirementMortgageInvestmentSelections","id":"rebalanceretirementmortgageinvestmentselections","depth":2},{"value":"CreateBeneficiaries","id":"createbeneficiaries","depth":2},{"value":"GetBeneficiary","id":"getbeneficiary","depth":2},{"value":"UpdateBeneficiaries","id":"updatebeneficiaries","depth":2},{"value":"ListBeneficiaries","id":"listbeneficiaries","depth":2},{"value":"DeleteBeneficiary","id":"deletebeneficiary","depth":2}],"frontmatter":{"title":"PartnerEmployeeIngress","seo":{"title":"PartnerEmployeeIngressService"}},"lastModified":"2026-09-18T14:49:13.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/grpc/partneremployeeingressservice","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}