@primerouting/zitadel-node
Version:
Library for API access to ZITADEL. Provides compiled gRPC service clients and helpers for applications and service accounts. Support http2 self-hosted instances
1,562 lines (1,561 loc) • 661 kB
TypeScript
import Long from "long";
import { type CallContext, type CallOptions } from "nice-grpc-common";
import _m0 from "protobufjs/minimal";
import { Duration } from "../google/protobuf/duration";
import { AggregateType, Event, EventType } from "./event";
import { AzureADTenant, IDP, IDPFieldName, IDPIDQuery, IDPLoginPolicyLink, IDPNameQuery, IDPStylingType, IDPUserLink, LDAPAttributes, OIDCMappingField, Options, Provider, SAMLBinding, SAMLNameIDFormat } from "./idp";
import { Domain, DomainFieldName, DomainSearchQuery, InstanceDetail, TrustedDomain, TrustedDomainSearchQuery } from "./instance";
import { AddCustomLabelPolicyRequest, AddCustomLockoutPolicyRequest, AddCustomLoginPolicyRequest, AddCustomPasswordComplexityPolicyRequest, AddCustomPrivacyPolicyRequest, AddOrgMemberRequest, AddOrgRequest, AddProjectGrantMemberRequest, AddProjectMemberRequest, AddProjectRoleRequest, AddUserGrantRequest, SetCustomDomainClaimedMessageTextRequest, SetCustomInitMessageTextRequest, SetCustomLoginTextsRequest as SetCustomLoginTextsRequest2, SetCustomPasswordlessRegistrationMessageTextRequest, SetCustomPasswordResetMessageTextRequest, SetCustomVerifyEmailMessageTextRequest, SetCustomVerifyEmailOTPMessageTextRequest, SetCustomVerifyPhoneMessageTextRequest, SetCustomVerifySMSOTPMessageTextRequest, SetTriggerActionsRequest, SetUserMetadataRequest } from "./management";
import { Member, SearchQuery } from "./member";
import { Milestone, MilestoneFieldName, MilestoneQuery } from "./milestone/v1/milestone";
import { ListDetails, ListQuery, ObjectDetails } from "./object";
import { Domain as Domain3, Org, OrgFieldName, OrgQuery } from "./org";
import { DomainPolicy, LabelPolicy, LockoutPolicy, LoginPolicy, MultiFactorType, NotificationPolicy, OrgIAMPolicy, PasswordAgePolicy, PasswordComplexityPolicy, PasswordlessType, PrivacyPolicy, SecondFactorType, ThemeMode } from "./policy";
import { DebugNotificationProvider, OIDCSettings, SecretGenerator, SecretGeneratorQuery, SecretGeneratorType, SecurityPolicy, SMSProvider, SMTPConfig } from "./settings";
import { EmailVerificationDoneScreenText, EmailVerificationScreenText, ExternalRegistrationUserOverviewScreenText, ExternalUserNotFoundScreenText, FooterText, InitializeUserDoneScreenText, InitializeUserScreenText, InitMFADoneScreenText, InitMFAOTPScreenText, InitMFAPromptScreenText, InitMFAU2FScreenText, InitPasswordDoneScreenText, InitPasswordScreenText, LinkingUserDoneScreenText, LinkingUserPromptScreenText, LoginCustomText, LoginScreenText, LogoutDoneScreenText, MessageCustomText, MFAProvidersText, PasswordChangeDoneScreenText, PasswordChangeScreenText, PasswordlessPromptScreenText, PasswordlessRegistrationDoneScreenText, PasswordlessRegistrationScreenText, PasswordlessScreenText, PasswordResetDoneScreenText, PasswordScreenText, RegistrationOptionScreenText, RegistrationOrgScreenText, RegistrationUserScreenText, SelectAccountScreenText, SuccessLoginScreenText, UsernameChangeDoneScreenText, UsernameChangeScreenText, VerifyMFAOTPScreenText, VerifyMFAU2FScreenText } from "./text";
import { Gender } from "./user";
import { DataAction, DataAPIApplication, DataAppKey, DataHumanUser, DataJWTIDP, DataMachineKey, DataMachineUser, DataOIDCApplication, DataOIDCIDP, DataProject, DataProjectGrant, ImportDataOrg as ImportDataOrg1 } from "./v1";
export declare const protobufPackage = "zitadel.admin.v1";
/** This is an empty request */
export interface HealthzRequest {
}
/** This is an empty response */
export interface HealthzResponse {
}
/** This is an empty request */
export interface GetSupportedLanguagesRequest {
}
export interface GetSupportedLanguagesResponse {
languages: string[];
}
/** This is an empty request */
export interface GetAllowedLanguagesRequest {
}
export interface GetAllowedLanguagesResponse {
languages: string[];
}
export interface SetDefaultLanguageRequest {
language: string;
}
export interface SetDefaultLanguageResponse {
details: ObjectDetails | undefined;
}
/** This is an empty request */
export interface GetDefaultLanguageRequest {
}
export interface GetDefaultLanguageResponse {
language: string;
}
export interface SetDefaultOrgRequest {
orgId: string;
}
export interface SetDefaultOrgResponse {
details: ObjectDetails | undefined;
}
/** This is an empty request */
export interface GetDefaultOrgRequest {
}
export interface GetDefaultOrgResponse {
org: Org | undefined;
}
/** This is an empty request */
export interface GetMyInstanceRequest {
}
export interface GetMyInstanceResponse {
instance: InstanceDetail | undefined;
}
export interface ListInstanceDomainsRequest {
query: ListQuery | undefined;
/** the field the result is sorted */
sortingColumn: DomainFieldName;
/** criteria the client is looking for */
queries: DomainSearchQuery[];
}
export interface ListInstanceDomainsResponse {
details: ListDetails | undefined;
sortingColumn: DomainFieldName;
result: Domain[];
}
export interface ListInstanceTrustedDomainsRequest {
query: ListQuery | undefined;
/** the field the result is sorted */
sortingColumn: DomainFieldName;
/** criteria the client is looking for */
queries: TrustedDomainSearchQuery[];
}
export interface ListInstanceTrustedDomainsResponse {
details: ListDetails | undefined;
sortingColumn: DomainFieldName;
result: TrustedDomain[];
}
export interface AddInstanceTrustedDomainRequest {
domain: string;
}
export interface AddInstanceTrustedDomainResponse {
details: ObjectDetails | undefined;
}
export interface RemoveInstanceTrustedDomainRequest {
domain: string;
}
export interface RemoveInstanceTrustedDomainResponse {
details: ObjectDetails | undefined;
}
export interface ListSecretGeneratorsRequest {
/** list limitations and ordering */
query: ListQuery | undefined;
/** criteria the client is looking for */
queries: SecretGeneratorQuery[];
}
export interface ListSecretGeneratorsResponse {
details: ListDetails | undefined;
result: SecretGenerator[];
}
export interface GetSecretGeneratorRequest {
generatorType: SecretGeneratorType;
}
export interface GetSecretGeneratorResponse {
secretGenerator: SecretGenerator | undefined;
}
export interface UpdateSecretGeneratorRequest {
generatorType: SecretGeneratorType;
length: number;
expiry: Duration | undefined;
includeLowerLetters: boolean;
includeUpperLetters: boolean;
includeDigits: boolean;
includeSymbols: boolean;
}
export interface UpdateSecretGeneratorResponse {
details: ObjectDetails | undefined;
}
/** This is an empty request */
export interface GetSMTPConfigRequest {
}
export interface GetSMTPConfigResponse {
smtpConfig: SMTPConfig | undefined;
}
export interface GetSMTPConfigByIdRequest {
id: string;
}
export interface GetSMTPConfigByIdResponse {
smtpConfig: SMTPConfig | undefined;
}
export interface ListSMTPConfigsRequest {
query: ListQuery | undefined;
}
export interface ListSMTPConfigsResponse {
details: ListDetails | undefined;
result: SMTPConfig[];
}
export interface AddSMTPConfigRequest {
senderAddress: string;
senderName: string;
tls: boolean;
host: string;
user: string;
password: string;
replyToAddress: string;
description: string;
}
export interface AddSMTPConfigResponse {
details: ObjectDetails | undefined;
id: string;
}
export interface UpdateSMTPConfigRequest {
senderAddress: string;
senderName: string;
tls: boolean;
host: string;
user: string;
replyToAddress: string;
password: string;
description: string;
id: string;
}
export interface UpdateSMTPConfigResponse {
details: ObjectDetails | undefined;
}
export interface UpdateSMTPConfigPasswordRequest {
password: string;
id: string;
}
export interface UpdateSMTPConfigPasswordResponse {
details: ObjectDetails | undefined;
}
export interface ActivateSMTPConfigRequest {
id: string;
}
export interface ActivateSMTPConfigResponse {
details: ObjectDetails | undefined;
}
export interface DeactivateSMTPConfigRequest {
id: string;
}
export interface DeactivateSMTPConfigResponse {
details: ObjectDetails | undefined;
}
export interface RemoveSMTPConfigRequest {
id: string;
}
export interface RemoveSMTPConfigResponse {
details: ObjectDetails | undefined;
}
export interface TestSMTPConfigByIdRequest {
id: string;
receiverAddress: string;
}
/** This is an empty response */
export interface TestSMTPConfigByIdResponse {
}
export interface TestSMTPConfigRequest {
senderAddress: string;
senderName: string;
tls: boolean;
host: string;
user: string;
password: string;
receiverAddress: string;
id: string;
}
/** This is an empty response */
export interface TestSMTPConfigResponse {
}
export interface ListSMSProvidersRequest {
/** list limitations and ordering */
query: ListQuery | undefined;
}
export interface ListSMSProvidersResponse {
details: ListDetails | undefined;
result: SMSProvider[];
}
export interface GetSMSProviderRequest {
id: string;
}
export interface GetSMSProviderResponse {
config: SMSProvider | undefined;
}
export interface AddSMSProviderTwilioRequest {
sid: string;
token: string;
senderNumber: string;
}
export interface AddSMSProviderTwilioResponse {
details: ObjectDetails | undefined;
id: string;
}
export interface UpdateSMSProviderTwilioRequest {
id: string;
sid: string;
senderNumber: string;
}
export interface UpdateSMSProviderTwilioResponse {
details: ObjectDetails | undefined;
}
export interface UpdateSMSProviderTwilioTokenRequest {
id: string;
token: string;
}
export interface UpdateSMSProviderTwilioTokenResponse {
details: ObjectDetails | undefined;
}
export interface ActivateSMSProviderRequest {
id: string;
}
export interface ActivateSMSProviderResponse {
details: ObjectDetails | undefined;
}
export interface DeactivateSMSProviderRequest {
id: string;
}
export interface DeactivateSMSProviderResponse {
details: ObjectDetails | undefined;
}
export interface RemoveSMSProviderRequest {
id: string;
}
export interface RemoveSMSProviderResponse {
details: ObjectDetails | undefined;
}
/** This is an empty request */
export interface GetFileSystemNotificationProviderRequest {
}
export interface GetFileSystemNotificationProviderResponse {
provider: DebugNotificationProvider | undefined;
}
/** This is an empty request */
export interface GetLogNotificationProviderRequest {
}
export interface GetLogNotificationProviderResponse {
provider: DebugNotificationProvider | undefined;
}
/** This is an empty request */
export interface GetOIDCSettingsRequest {
}
export interface GetOIDCSettingsResponse {
settings: OIDCSettings | undefined;
}
export interface AddOIDCSettingsRequest {
accessTokenLifetime: Duration | undefined;
idTokenLifetime: Duration | undefined;
refreshTokenIdleExpiration: Duration | undefined;
refreshTokenExpiration: Duration | undefined;
}
export interface AddOIDCSettingsResponse {
details: ObjectDetails | undefined;
}
export interface UpdateOIDCSettingsRequest {
accessTokenLifetime: Duration | undefined;
idTokenLifetime: Duration | undefined;
refreshTokenIdleExpiration: Duration | undefined;
refreshTokenExpiration: Duration | undefined;
}
export interface UpdateOIDCSettingsResponse {
details: ObjectDetails | undefined;
}
/** This is an empty request */
export interface GetSecurityPolicyRequest {
}
export interface GetSecurityPolicyResponse {
policy: SecurityPolicy | undefined;
}
export interface SetSecurityPolicyRequest {
/** states if iframe embedding is enabled or disabled */
enableIframeEmbedding: boolean;
/** origins allowed loading ZITADEL in an iframe if enable_iframe_embedding is true */
allowedOrigins: string[];
/** allows users to impersonate other users. The impersonator needs the appropriate `*_IMPERSONATOR` roles assigned as well" */
enableImpersonation: boolean;
}
export interface SetSecurityPolicyResponse {
details: ObjectDetails | undefined;
}
/**
* if name or domain is already in use, org is not unique
* at least one argument has to be provided
*/
export interface IsOrgUniqueRequest {
name: string;
domain: string;
}
export interface IsOrgUniqueResponse {
isUnique: boolean;
}
export interface GetOrgByIDRequest {
id: string;
}
export interface GetOrgByIDResponse {
org: Org | undefined;
}
export interface ListOrgsRequest {
/** list limitations and ordering */
query: ListQuery | undefined;
/** the field the result is sorted */
sortingColumn: OrgFieldName;
/** criteria the client is looking for */
queries: OrgQuery[];
}
export interface ListOrgsResponse {
details: ListDetails | undefined;
sortingColumn: OrgFieldName;
result: Org[];
}
export interface SetUpOrgRequest {
org: SetUpOrgRequest_Org | undefined;
/** oneof field for the user managing the organization */
human?: SetUpOrgRequest_Human | undefined;
/** specify Org Member Roles for the provided user (default is ORG_OWNER if roles are empty) */
roles: string[];
}
export interface SetUpOrgRequest_Org {
name: string;
domain: string;
}
export interface SetUpOrgRequest_Human {
userName: string;
profile: SetUpOrgRequest_Human_Profile | undefined;
email: SetUpOrgRequest_Human_Email | undefined;
phone: SetUpOrgRequest_Human_Phone | undefined;
password: string;
}
export interface SetUpOrgRequest_Human_Profile {
firstName: string;
lastName: string;
nickName: string;
displayName: string;
preferredLanguage: string;
gender: Gender;
}
export interface SetUpOrgRequest_Human_Email {
email: string;
isEmailVerified: boolean;
}
export interface SetUpOrgRequest_Human_Phone {
/** has to be a global number */
phone: string;
isPhoneVerified: boolean;
}
export interface SetUpOrgResponse {
details: ObjectDetails | undefined;
orgId: string;
userId: string;
}
export interface RemoveOrgRequest {
orgId: string;
}
export interface RemoveOrgResponse {
details: ObjectDetails | undefined;
}
export interface GetIDPByIDRequest {
id: string;
}
export interface GetIDPByIDResponse {
idp: IDP | undefined;
}
export interface ListIDPsRequest {
/** list limitations and ordering */
query: ListQuery | undefined;
/** the field the result is sorted */
sortingColumn: IDPFieldName;
/** criteria the client is looking for */
queries: IDPQuery[];
}
export interface IDPQuery {
idpIdQuery?: IDPIDQuery | undefined;
idpNameQuery?: IDPNameQuery | undefined;
}
export interface ListIDPsResponse {
details: ListDetails | undefined;
sortingColumn: IDPFieldName;
result: IDP[];
}
export interface AddOIDCIDPRequest {
name: string;
stylingType: IDPStylingType;
clientId: string;
clientSecret: string;
issuer: string;
scopes: string[];
displayNameMapping: OIDCMappingField;
usernameMapping: OIDCMappingField;
autoRegister: boolean;
}
export interface AddOIDCIDPResponse {
details: ObjectDetails | undefined;
idpId: string;
}
export interface AddJWTIDPRequest {
name: string;
stylingType: IDPStylingType;
jwtEndpoint: string;
issuer: string;
keysEndpoint: string;
headerName: string;
autoRegister: boolean;
}
export interface AddJWTIDPResponse {
details: ObjectDetails | undefined;
idpId: string;
}
export interface UpdateIDPRequest {
idpId: string;
name: string;
stylingType: IDPStylingType;
autoRegister: boolean;
}
export interface UpdateIDPResponse {
details: ObjectDetails | undefined;
}
export interface DeactivateIDPRequest {
idpId: string;
}
export interface DeactivateIDPResponse {
details: ObjectDetails | undefined;
}
export interface ReactivateIDPRequest {
idpId: string;
}
export interface ReactivateIDPResponse {
details: ObjectDetails | undefined;
}
export interface RemoveIDPRequest {
idpId: string;
}
export interface RemoveIDPResponse {
details: ObjectDetails | undefined;
}
export interface UpdateIDPOIDCConfigRequest {
idpId: string;
issuer: string;
clientId: string;
clientSecret: string;
scopes: string[];
displayNameMapping: OIDCMappingField;
usernameMapping: OIDCMappingField;
}
export interface UpdateIDPOIDCConfigResponse {
details: ObjectDetails | undefined;
}
export interface UpdateIDPJWTConfigRequest {
idpId: string;
jwtEndpoint: string;
issuer: string;
keysEndpoint: string;
headerName: string;
}
export interface UpdateIDPJWTConfigResponse {
details: ObjectDetails | undefined;
}
export interface ListProvidersRequest {
/** list limitations and ordering */
query: ListQuery | undefined;
/** criteria the client is looking for */
queries: ProviderQuery[];
}
export interface ProviderQuery {
idpIdQuery?: IDPIDQuery | undefined;
idpNameQuery?: IDPNameQuery | undefined;
}
export interface ListProvidersResponse {
details: ListDetails | undefined;
result: Provider[];
}
export interface GetProviderByIDRequest {
id: string;
}
export interface GetProviderByIDResponse {
idp: Provider | undefined;
}
export interface AddGenericOAuthProviderRequest {
name: string;
clientId: string;
clientSecret: string;
authorizationEndpoint: string;
tokenEndpoint: string;
userEndpoint: string;
scopes: string[];
/** identifying attribute of the user in the response of the user_endpoint */
idAttribute: string;
providerOptions: Options | undefined;
}
export interface AddGenericOAuthProviderResponse {
details: ObjectDetails | undefined;
id: string;
}
export interface UpdateGenericOAuthProviderRequest {
id: string;
name: string;
clientId: string;
/** client_secret will only be updated if provided */
clientSecret: string;
authorizationEndpoint: string;
tokenEndpoint: string;
userEndpoint: string;
scopes: string[];
/** identifying attribute of the user in the response of the user_endpoint */
idAttribute: string;
providerOptions: Options | undefined;
}
export interface UpdateGenericOAuthProviderResponse {
details: ObjectDetails | undefined;
}
export interface AddGenericOIDCProviderRequest {
name: string;
issuer: string;
clientId: string;
clientSecret: string;
scopes: string[];
providerOptions: Options | undefined;
isIdTokenMapping: boolean;
}
export interface AddGenericOIDCProviderResponse {
details: ObjectDetails | undefined;
id: string;
}
export interface UpdateGenericOIDCProviderRequest {
id: string;
name: string;
issuer: string;
clientId: string;
/** client_secret will only be updated if provided */
clientSecret: string;
scopes: string[];
providerOptions: Options | undefined;
isIdTokenMapping: boolean;
}
export interface UpdateGenericOIDCProviderResponse {
details: ObjectDetails | undefined;
}
export interface MigrateGenericOIDCProviderRequest {
id: string;
azure?: AddAzureADProviderRequest | undefined;
google?: AddGoogleProviderRequest | undefined;
}
export interface MigrateGenericOIDCProviderResponse {
details: ObjectDetails | undefined;
}
export interface AddJWTProviderRequest {
name: string;
issuer: string;
jwtEndpoint: string;
keysEndpoint: string;
headerName: string;
providerOptions: Options | undefined;
}
export interface AddJWTProviderResponse {
details: ObjectDetails | undefined;
id: string;
}
export interface UpdateJWTProviderRequest {
id: string;
name: string;
issuer: string;
jwtEndpoint: string;
keysEndpoint: string;
headerName: string;
providerOptions: Options | undefined;
}
export interface UpdateJWTProviderResponse {
details: ObjectDetails | undefined;
}
export interface AddAzureADProviderRequest {
name: string;
clientId: string;
clientSecret: string;
/** if not provided the `common` tenant will be used */
tenant: AzureADTenant | undefined;
emailVerified: boolean;
scopes: string[];
providerOptions: Options | undefined;
}
export interface AddAzureADProviderResponse {
details: ObjectDetails | undefined;
id: string;
}
export interface UpdateAzureADProviderRequest {
id: string;
name: string;
clientId: string;
/** client_secret will only be updated if provided */
clientSecret: string;
/** if not provided the `common` tenant will be used */
tenant: AzureADTenant | undefined;
emailVerified: boolean;
scopes: string[];
providerOptions: Options | undefined;
}
export interface UpdateAzureADProviderResponse {
details: ObjectDetails | undefined;
}
export interface AddGitHubProviderRequest {
/** GitHub will be used as default, if no name is provided */
name: string;
clientId: string;
clientSecret: string;
scopes: string[];
providerOptions: Options | undefined;
}
export interface AddGitHubProviderResponse {
details: ObjectDetails | undefined;
id: string;
}
export interface UpdateGitHubProviderRequest {
id: string;
name: string;
clientId: string;
/** client_secret will only be updated if provided */
clientSecret: string;
scopes: string[];
providerOptions: Options | undefined;
}
export interface UpdateGitHubProviderResponse {
details: ObjectDetails | undefined;
}
export interface AddGitHubEnterpriseServerProviderRequest {
clientId: string;
name: string;
clientSecret: string;
authorizationEndpoint: string;
tokenEndpoint: string;
userEndpoint: string;
scopes: string[];
providerOptions: Options | undefined;
}
export interface AddGitHubEnterpriseServerProviderResponse {
details: ObjectDetails | undefined;
id: string;
}
export interface UpdateGitHubEnterpriseServerProviderRequest {
id: string;
name: string;
clientId: string;
/** client_secret will only be updated if provided */
clientSecret: string;
authorizationEndpoint: string;
tokenEndpoint: string;
userEndpoint: string;
scopes: string[];
providerOptions: Options | undefined;
}
export interface UpdateGitHubEnterpriseServerProviderResponse {
details: ObjectDetails | undefined;
}
export interface AddGitLabProviderRequest {
/** GitLab will be used as default, if no name is provided */
name: string;
clientId: string;
clientSecret: string;
scopes: string[];
providerOptions: Options | undefined;
}
export interface AddGitLabProviderResponse {
details: ObjectDetails | undefined;
id: string;
}
export interface UpdateGitLabProviderRequest {
id: string;
name: string;
clientId: string;
/** client_secret will only be updated if provided */
clientSecret: string;
scopes: string[];
providerOptions: Options | undefined;
}
export interface UpdateGitLabProviderResponse {
details: ObjectDetails | undefined;
}
export interface AddGitLabSelfHostedProviderRequest {
issuer: string;
name: string;
clientId: string;
clientSecret: string;
scopes: string[];
providerOptions: Options | undefined;
}
export interface AddGitLabSelfHostedProviderResponse {
details: ObjectDetails | undefined;
id: string;
}
export interface UpdateGitLabSelfHostedProviderRequest {
id: string;
issuer: string;
name: string;
clientId: string;
/** client_secret will only be updated if provided */
clientSecret: string;
scopes: string[];
providerOptions: Options | undefined;
}
export interface UpdateGitLabSelfHostedProviderResponse {
details: ObjectDetails | undefined;
}
export interface AddGoogleProviderRequest {
/** Google will be used as default, if no name is provided */
name: string;
clientId: string;
clientSecret: string;
scopes: string[];
providerOptions: Options | undefined;
}
export interface AddGoogleProviderResponse {
details: ObjectDetails | undefined;
id: string;
}
export interface UpdateGoogleProviderRequest {
id: string;
name: string;
clientId: string;
/** client_secret will only be updated if provided */
clientSecret: string;
scopes: string[];
providerOptions: Options | undefined;
}
export interface UpdateGoogleProviderResponse {
details: ObjectDetails | undefined;
}
export interface AddLDAPProviderRequest {
name: string;
servers: string[];
startTls: boolean;
baseDn: string;
bindDn: string;
bindPassword: string;
userBase: string;
userObjectClasses: string[];
userFilters: string[];
timeout: Duration | undefined;
attributes: LDAPAttributes | undefined;
providerOptions: Options | undefined;
}
export interface AddLDAPProviderResponse {
details: ObjectDetails | undefined;
id: string;
}
export interface UpdateLDAPProviderRequest {
id: string;
name: string;
servers: string[];
startTls: boolean;
baseDn: string;
bindDn: string;
bindPassword: string;
userBase: string;
userObjectClasses: string[];
userFilters: string[];
timeout: Duration | undefined;
attributes: LDAPAttributes | undefined;
providerOptions: Options | undefined;
}
export interface UpdateLDAPProviderResponse {
details: ObjectDetails | undefined;
}
export interface AddAppleProviderRequest {
/** Apple will be used as default, if no name is provided */
name: string;
clientId: string;
teamId: string;
keyId: string;
privateKey: Buffer;
scopes: string[];
providerOptions: Options | undefined;
}
export interface AddAppleProviderResponse {
details: ObjectDetails | undefined;
id: string;
}
export interface UpdateAppleProviderRequest {
id: string;
name: string;
clientId: string;
teamId: string;
keyId: string;
privateKey: Buffer;
scopes: string[];
providerOptions: Options | undefined;
}
export interface UpdateAppleProviderResponse {
details: ObjectDetails | undefined;
}
export interface AddSAMLProviderRequest {
name: string;
/** Metadata of the SAML identity provider. */
metadataXml?: Buffer | undefined;
/** Url to the metadata of the SAML identity provider. */
metadataUrl?: string | undefined;
/** Binding which defines the type of communication with the identity provider. */
binding: SAMLBinding;
/** Boolean which defines if the authentication requests are signed. */
withSignedRequest: boolean;
providerOptions: Options | undefined;
/** Optionally specify the `nameid-format` requested. */
nameIdFormat?: SAMLNameIDFormat | undefined;
/**
* Optionally specify the name of the attribute, which will be used to map the user
* in case the nameid-format returned is `urn:oasis:names:tc:SAML:2.0:nameid-format:transient`.
*/
transientMappingAttributeName?: string | undefined;
}
export interface AddSAMLProviderResponse {
details: ObjectDetails | undefined;
id: string;
}
export interface UpdateSAMLProviderRequest {
id: string;
name: string;
metadataXml?: Buffer | undefined;
/** Url to the metadata of the SAML identity provider */
metadataUrl?: string | undefined;
/** Binding which defines the type of communication with the identity provider. */
binding: SAMLBinding;
/** Boolean which defines if the authentication requests are signed */
withSignedRequest: boolean;
providerOptions: Options | undefined;
/** Optionally specify the `nameid-format` requested. */
nameIdFormat?: SAMLNameIDFormat | undefined;
/**
* Optionally specify the name of the attribute, which will be used to map the user
* in case the nameid-format returned is `urn:oasis:names:tc:SAML:2.0:nameid-format:transient`.
*/
transientMappingAttributeName?: string | undefined;
}
export interface UpdateSAMLProviderResponse {
details: ObjectDetails | undefined;
}
export interface RegenerateSAMLProviderCertificateRequest {
id: string;
}
export interface RegenerateSAMLProviderCertificateResponse {
details: ObjectDetails | undefined;
}
export interface DeleteProviderRequest {
id: string;
}
export interface DeleteProviderResponse {
details: ObjectDetails | undefined;
}
export interface GetOrgIAMPolicyRequest {
}
export interface GetOrgIAMPolicyResponse {
policy: OrgIAMPolicy | undefined;
}
export interface UpdateOrgIAMPolicyRequest {
userLoginMustBeDomain: boolean;
}
export interface UpdateOrgIAMPolicyResponse {
details: ObjectDetails | undefined;
}
export interface GetCustomOrgIAMPolicyRequest {
orgId: string;
}
export interface GetCustomOrgIAMPolicyResponse {
policy: OrgIAMPolicy | undefined;
/** deprecated: is_default is also defined in zitadel.policy.v1.OrgIAMPolicy */
isDefault: boolean;
}
export interface AddCustomOrgIAMPolicyRequest {
orgId: string;
/** the username has to end with the domain of its organization (uniqueness is organization based) */
userLoginMustBeDomain: boolean;
}
export interface AddCustomOrgIAMPolicyResponse {
details: ObjectDetails | undefined;
}
export interface UpdateCustomOrgIAMPolicyRequest {
orgId: string;
userLoginMustBeDomain: boolean;
}
export interface UpdateCustomOrgIAMPolicyResponse {
details: ObjectDetails | undefined;
}
export interface ResetCustomOrgIAMPolicyToDefaultRequest {
orgId: string;
}
export interface ResetCustomOrgIAMPolicyToDefaultResponse {
details: ObjectDetails | undefined;
}
export interface GetDomainPolicyRequest {
}
export interface GetDomainPolicyResponse {
policy: DomainPolicy | undefined;
}
export interface UpdateDomainPolicyRequest {
userLoginMustBeDomain: boolean;
validateOrgDomains: boolean;
smtpSenderAddressMatchesInstanceDomain: boolean;
}
export interface UpdateDomainPolicyResponse {
details: ObjectDetails | undefined;
}
export interface GetCustomDomainPolicyRequest {
orgId: string;
}
export interface GetCustomDomainPolicyResponse {
policy: DomainPolicy | undefined;
/** deprecated: is_default is also defined in zitadel.policy.v1.DomainPolicy */
isDefault: boolean;
}
export interface AddCustomDomainPolicyRequest {
orgId: string;
/** the username has to end with the domain of its organization (uniqueness is organization based) */
userLoginMustBeDomain: boolean;
validateOrgDomains: boolean;
smtpSenderAddressMatchesInstanceDomain: boolean;
}
export interface AddCustomDomainPolicyResponse {
details: ObjectDetails | undefined;
}
export interface UpdateCustomDomainPolicyRequest {
orgId: string;
userLoginMustBeDomain: boolean;
validateOrgDomains: boolean;
smtpSenderAddressMatchesInstanceDomain: boolean;
}
export interface UpdateCustomDomainPolicyResponse {
details: ObjectDetails | undefined;
}
export interface ResetCustomDomainPolicyToDefaultRequest {
orgId: string;
}
export interface ResetCustomDomainPolicyToDefaultResponse {
details: ObjectDetails | undefined;
}
/** This is an empty request */
export interface GetLabelPolicyRequest {
}
export interface GetLabelPolicyResponse {
policy: LabelPolicy | undefined;
}
/** This is an empty request */
export interface GetPreviewLabelPolicyRequest {
}
export interface GetPreviewLabelPolicyResponse {
policy: LabelPolicy | undefined;
}
export interface UpdateLabelPolicyRequest {
primaryColor: string;
hideLoginNameSuffix: boolean;
warnColor: string;
backgroundColor: string;
fontColor: string;
primaryColorDark: string;
backgroundColorDark: string;
warnColorDark: string;
fontColorDark: string;
disableWatermark: boolean;
themeMode: ThemeMode;
}
export interface UpdateLabelPolicyResponse {
details: ObjectDetails | undefined;
}
/** This is an empty request */
export interface ActivateLabelPolicyRequest {
}
export interface ActivateLabelPolicyResponse {
details: ObjectDetails | undefined;
}
/** This is an empty request */
export interface RemoveLabelPolicyLogoRequest {
}
export interface RemoveLabelPolicyLogoResponse {
details: ObjectDetails | undefined;
}
/** This is an empty request */
export interface RemoveLabelPolicyLogoDarkRequest {
}
export interface RemoveLabelPolicyLogoDarkResponse {
details: ObjectDetails | undefined;
}
/** This is an empty request */
export interface RemoveLabelPolicyIconRequest {
}
export interface RemoveLabelPolicyIconResponse {
details: ObjectDetails | undefined;
}
/** This is an empty request */
export interface RemoveLabelPolicyIconDarkRequest {
}
export interface RemoveLabelPolicyIconDarkResponse {
details: ObjectDetails | undefined;
}
/** This is an empty request */
export interface RemoveLabelPolicyFontRequest {
}
export interface RemoveLabelPolicyFontResponse {
details: ObjectDetails | undefined;
}
/** This is an empty request */
export interface GetLoginPolicyRequest {
}
export interface GetLoginPolicyResponse {
policy: LoginPolicy | undefined;
}
export interface UpdateLoginPolicyRequest {
allowUsernamePassword: boolean;
allowRegister: boolean;
allowExternalIdp: boolean;
forceMfa: boolean;
passwordlessType: PasswordlessType;
hidePasswordReset: boolean;
ignoreUnknownUsernames: boolean;
defaultRedirectUri: string;
passwordCheckLifetime: Duration | undefined;
externalLoginCheckLifetime: Duration | undefined;
mfaInitSkipLifetime: Duration | undefined;
secondFactorCheckLifetime: Duration | undefined;
multiFactorCheckLifetime: Duration | undefined;
/** If set to true, the suffix (@domain.com) of an unknown username input on the login screen will be matched against the org domains and will redirect to the registration of that organization on success. */
allowDomainDiscovery: boolean;
disableLoginWithEmail: boolean;
disableLoginWithPhone: boolean;
forceMfaLocalOnly: boolean;
}
export interface UpdateLoginPolicyResponse {
details: ObjectDetails | undefined;
}
export interface ListLoginPolicyIDPsRequest {
/** list limitations and ordering */
query: ListQuery | undefined;
}
export interface ListLoginPolicyIDPsResponse {
details: ListDetails | undefined;
result: IDPLoginPolicyLink[];
}
export interface AddIDPToLoginPolicyRequest {
idpId: string;
}
export interface AddIDPToLoginPolicyResponse {
details: ObjectDetails | undefined;
}
export interface RemoveIDPFromLoginPolicyRequest {
idpId: string;
}
export interface RemoveIDPFromLoginPolicyResponse {
details: ObjectDetails | undefined;
}
/** This is an empty request */
export interface ListLoginPolicySecondFactorsRequest {
}
export interface ListLoginPolicySecondFactorsResponse {
details: ListDetails | undefined;
result: SecondFactorType[];
}
export interface AddSecondFactorToLoginPolicyRequest {
type: SecondFactorType;
}
export interface AddSecondFactorToLoginPolicyResponse {
details: ObjectDetails | undefined;
}
export interface RemoveSecondFactorFromLoginPolicyRequest {
type: SecondFactorType;
}
export interface RemoveSecondFactorFromLoginPolicyResponse {
details: ObjectDetails | undefined;
}
/** This is an empty request */
export interface ListLoginPolicyMultiFactorsRequest {
}
export interface ListLoginPolicyMultiFactorsResponse {
details: ListDetails | undefined;
result: MultiFactorType[];
}
export interface AddMultiFactorToLoginPolicyRequest {
type: MultiFactorType;
}
export interface AddMultiFactorToLoginPolicyResponse {
details: ObjectDetails | undefined;
}
export interface RemoveMultiFactorFromLoginPolicyRequest {
type: MultiFactorType;
}
export interface RemoveMultiFactorFromLoginPolicyResponse {
details: ObjectDetails | undefined;
}
export interface GetPasswordComplexityPolicyRequest {
}
export interface GetPasswordComplexityPolicyResponse {
policy: PasswordComplexityPolicy | undefined;
}
export interface UpdatePasswordComplexityPolicyRequest {
minLength: number;
hasUppercase: boolean;
hasLowercase: boolean;
hasNumber: boolean;
hasSymbol: boolean;
}
export interface UpdatePasswordComplexityPolicyResponse {
details: ObjectDetails | undefined;
}
/** This is an empty request */
export interface GetPasswordAgePolicyRequest {
}
export interface GetPasswordAgePolicyResponse {
policy: PasswordAgePolicy | undefined;
}
export interface UpdatePasswordAgePolicyRequest {
/** Amount of days after which a password will expire. The user will be forced to change the password on the following authentication. */
maxAgeDays: number;
/** Amount of days after which the user should be notified of the upcoming expiry. ZITADEL will not notify the user. */
expireWarnDays: number;
}
export interface UpdatePasswordAgePolicyResponse {
details: ObjectDetails | undefined;
}
/** This is an empty request */
export interface GetLockoutPolicyRequest {
}
export interface GetLockoutPolicyResponse {
policy: LockoutPolicy | undefined;
}
export interface UpdateLockoutPolicyRequest {
/** failed attempts until a user gets locked */
maxPasswordAttempts: number;
maxOtpAttempts: number;
}
export interface UpdateLockoutPolicyResponse {
details: ObjectDetails | undefined;
}
/** This is an empty request */
export interface GetPrivacyPolicyRequest {
}
export interface GetPrivacyPolicyResponse {
policy: PrivacyPolicy | undefined;
}
export interface UpdatePrivacyPolicyRequest {
tosLink: string;
privacyLink: string;
helpLink: string;
supportEmail: string;
docsLink: string;
customLink: string;
customLinkText: string;
}
export interface UpdatePrivacyPolicyResponse {
details: ObjectDetails | undefined;
}
export interface AddNotificationPolicyRequest {
passwordChange: boolean;
}
export interface AddNotificationPolicyResponse {
details: ObjectDetails | undefined;
}
/** This is an empty request */
export interface GetNotificationPolicyRequest {
}
export interface GetNotificationPolicyResponse {
policy: NotificationPolicy | undefined;
}
export interface UpdateNotificationPolicyRequest {
passwordChange: boolean;
}
export interface UpdateNotificationPolicyResponse {
details: ObjectDetails | undefined;
}
export interface GetDefaultInitMessageTextRequest {
language: string;
}
export interface GetDefaultInitMessageTextResponse {
customText: MessageCustomText | undefined;
}
export interface GetCustomInitMessageTextRequest {
language: string;
}
export interface GetCustomInitMessageTextResponse {
customText: MessageCustomText | undefined;
}
export interface SetDefaultInitMessageTextRequest {
language: string;
title: string;
preHeader: string;
subject: string;
greeting: string;
text: string;
buttonText: string;
footerText: string;
}
export interface SetDefaultInitMessageTextResponse {
details: ObjectDetails | undefined;
}
export interface ResetCustomInitMessageTextToDefaultRequest {
language: string;
}
export interface ResetCustomInitMessageTextToDefaultResponse {
details: ObjectDetails | undefined;
}
export interface GetDefaultPasswordResetMessageTextRequest {
language: string;
}
export interface GetDefaultPasswordResetMessageTextResponse {
customText: MessageCustomText | undefined;
}
export interface GetCustomPasswordResetMessageTextRequest {
language: string;
}
export interface GetCustomPasswordResetMessageTextResponse {
customText: MessageCustomText | undefined;
}
export interface SetDefaultPasswordResetMessageTextRequest {
language: string;
title: string;
preHeader: string;
subject: string;
greeting: string;
text: string;
buttonText: string;
footerText: string;
}
export interface SetDefaultPasswordResetMessageTextResponse {
details: ObjectDetails | undefined;
}
export interface ResetCustomPasswordResetMessageTextToDefaultRequest {
language: string;
}
export interface ResetCustomPasswordResetMessageTextToDefaultResponse {
details: ObjectDetails | undefined;
}
export interface GetDefaultVerifyEmailMessageTextRequest {
language: string;
}
export interface GetDefaultVerifyEmailMessageTextResponse {
customText: MessageCustomText | undefined;
}
export interface GetCustomVerifyEmailMessageTextRequest {
language: string;
}
export interface GetCustomVerifyEmailMessageTextResponse {
customText: MessageCustomText | undefined;
}
export interface SetDefaultVerifyEmailMessageTextRequest {
language: string;
title: string;
preHeader: string;
subject: string;
greeting: string;
text: string;
buttonText: string;
footerText: string;
}
export interface SetDefaultVerifyEmailMessageTextResponse {
details: ObjectDetails | undefined;
}
export interface ResetCustomVerifyEmailMessageTextToDefaultRequest {
language: string;
}
export interface ResetCustomVerifyEmailMessageTextToDefaultResponse {
details: ObjectDetails | undefined;
}
export interface GetDefaultVerifyPhoneMessageTextRequest {
language: string;
}
export interface GetDefaultVerifyPhoneMessageTextResponse {
customText: MessageCustomText | undefined;
}
export interface GetCustomVerifyPhoneMessageTextRequest {
language: string;
}
export interface GetCustomVerifyPhoneMessageTextResponse {
customText: MessageCustomText | undefined;
}
export interface SetDefaultVerifyPhoneMessageTextRequest {
language: string;
title: string;
preHeader: string;
subject: string;
greeting: string;
text: string;
buttonText: string;
footerText: string;
}
export interface SetDefaultVerifyPhoneMessageTextResponse {
details: ObjectDetails | undefined;
}
export interface ResetCustomVerifyPhoneMessageTextToDefaultRequest {
language: string;
}
export interface ResetCustomVerifyPhoneMessageTextToDefaultResponse {
details: ObjectDetails | undefined;
}
export interface GetCustomVerifySMSOTPMessageTextRequest {
language: string;
}
export interface GetCustomVerifySMSOTPMessageTextResponse {
customText: MessageCustomText | undefined;
}
export interface GetDefaultVerifySMSOTPMessageTextRequest {
language: string;
}
export interface GetDefaultVerifySMSOTPMessageTextResponse {
customText: MessageCustomText | undefined;
}
export interface SetDefaultVerifySMSOTPMessageTextRequest {
language: string;
text: string;
}
export interface SetDefaultVerifySMSOTPMessageTextResponse {
details: ObjectDetails | undefined;
}
export interface ResetCustomVerifySMSOTPMessageTextToDefaultRequest {
language: string;
}
export interface ResetCustomVerifySMSOTPMessageTextToDefaultResponse {
details: ObjectDetails | undefined;
}
export interface GetCustomVerifyEmailOTPMessageTextRequest {
language: string;
}
export interface GetCustomVerifyEmailOTPMessageTextResponse {
customText: MessageCustomText | undefined;
}
export interface GetDefaultVerifyEmailOTPMessageTextRequest {
language: string;
}
export interface GetDefaultVerifyEmailOTPMessageTextResponse {
customText: MessageCustomText | undefined;
}
export interface SetDefaultVerifyEmailOTPMessageTextRequest {
language: string;
title: string;
preHeader: string;
subject: string;
greeting: string;
text: string;
buttonText: string;
footerText: string;
}
export interface SetDefaultVerifyEmailOTPMessageTextResponse {
details: ObjectDetails | undefined;
}
export interface ResetCustomVerifyEmailOTPMessageTextToDefaultRequest {
language: string;
}
export interface ResetCustomVerifyEmailOTPMessageTextToDefaultResponse {
details: ObjectDetails | undefined;
}
export interface GetDefaultDomainClaimedMessageTextRequest {
language: string;
}
export interface GetDefaultDomainClaimedMessageTextResponse {
customText: MessageCustomText | undefined;
}
export interface GetCustomDomainClaimedMessageTextRequest {
language: string;
}
export interface GetCustomDomainClaimedMessageTextResponse {
customText: MessageCustomText | undefined;
}
export interface SetDefaultDomainClaimedMessageTextRequest {
language: string;
title: string;
preHeader: string;
subject: string;
greeting: string;
text: string;
buttonText: string;
footerText: string;
}
export interface SetDefaultDomainClaimedMessageTextResponse {
details: ObjectDetails | undefined;
}
export interface ResetCustomDomainClaimedMessageTextToDefaultRequest {
language: string;
}
export interface ResetCustomDomainClaimedMessageTextToDefaultResponse {
details: ObjectDetails | undefined;
}
export interface GetDefaultPasswordChangeMessageTextRequest {
language: string;
}
export interface GetDefaultPasswordChangeMessageTextResponse {
customText: MessageCustomText | undefined;
}
export interface GetCustomPasswordChangeMessageTextRequest {
language: string;
}
export interface GetCustomPasswordChangeMessageTextResponse {
customText: MessageCustomText | undefined;
}
export interface SetDefaultPasswordChangeMessageTextRequest {
language: string;
title: string;
preHeader: string;
subject: string;
greeting: string;
text: string;
buttonText: string;
footerText: string;
}
export interface SetDefaultPasswordChangeMessageTextResponse {
details: ObjectDetails | undefined;
}
export interface ResetCustomPasswordChangeMessageTextToDefaultRequest {
language: string;
}
export interface ResetCustomPasswordChangeMessageTextToDefaultResponse {
details: ObjectDetails | undefined;
}
export interface GetDefaultPasswordlessRegistrationMessageTextRequest {
language: string;
}
export interface GetDefaultPasswordlessRegistrationMessageTextResponse {
customText: MessageCustomText | undefined;
}
export interface GetCustomPasswordlessRegistrationMessageTextRequest {
language: string;
}
export interface GetCustomPasswordlessRegistrationMessageTextResponse {
customText: MessageCustomText | undefined;
}
export interface SetDefaultPasswordlessRegistrationMessageTextRequest {
language: string;
title: string;
preHeader: string;
subject: string;
greeting: string;
text: string;
buttonText: string;
footerText: string;
}
export interface SetDefaultPasswordlessRegistrationMessageTextResponse {
details: ObjectDetails | undefined;
}
export interface ResetCustomPasswordlessRegistrationMessageTextToDefaultRequest {
language: string;
}
export interface ResetCustomPasswordlessRegistrationMessageTextToDefaultResponse {
details: ObjectDetails | undefined;
}
export interface GetDefaultLoginTextsRequest {
language: string;
}
export interface GetDefaultLoginTextsResponse {
customText: LoginCustomText | undefined;
}
export interface GetCustomLoginTextsRequest {
language: string;
}
export interface GetCustomLoginTextsResponse {
customText: LoginCustomText | undefined;
}
export interface SetCustomLoginTextsRequest {
language: string;
selectAccountText: SelectAccountScreenText | undefined;
loginText: LoginScreenText | undefined;
passwordText: PasswordScreenText | undefined;
usernameChangeText: UsernameChangeScreenText | undefined;
usernameChangeDoneText: UsernameChangeDoneScreenText | undefined;
initPasswordText: InitPasswordScreenText | undefined;
initPasswordDoneText: InitPasswordDoneScreenText | undefined;
emailVerificationText: EmailVerificationScreenText | undefined;
emailVerificationDoneText: EmailVerificationDoneScreenText | undefined;
initializeUserText: InitializeUserScreenText | undefined;
initializeDoneText: InitializeUserDoneScreenText | undefined;
initMfaPromptText: InitMFAPromptScreenText | undefined;
initMfaOtpText: InitMFAOTPScreenText | undefined;
initMfaU2fText: InitMFAU2FScreenText | undefined;
initMfaDoneText: InitMFADoneScreenText | undefined;
mfaProvidersText: MFAProvidersText | undefined;
verifyMfaOtpText: VerifyMFAOTPScreenText | undefined;
verifyMfaU2fText: VerifyMFAU2FScreenText | undefined;
passwordlessText: PasswordlessScreenText | undefined;
passwordChangeText: PasswordChangeScreenText | undefined;
passwordChangeDoneText: PasswordChangeDoneScreenText | undefined;
passwordResetDoneText: PasswordResetDoneScreenText | undefined;
registrationOptionText: RegistrationOptionScreenText | undefined;
registrationUserText: RegistrationUserScreenText | undefined;
registrationOrgText: RegistrationOrgScreenText | undefined;
linkingUserDoneText: LinkingUserDoneScreenText | undefined;
externalUserNotFoundText: ExternalUserNotFoundScreenText | undefined;
successLoginText: SuccessLoginScreenText | undefined;
logoutText: LogoutDoneScreenText | undefined;
footerText: FooterText | undefined;
passwordlessPromptText: PasswordlessPromptScreenText | undefined;
passwordlessRegistrationText: PasswordlessRegistrationScreenText | undefined;
passwordlessRegistrationDoneText: PasswordlessRegistrationDoneScreenText | undefined;
externalRegistrationUserOverviewText: ExternalRegistrationUserOverviewScreenText | undefined;
linkingUserPromptText: LinkingUserPromptScreenText | undefined;
}
export interface SetCustomLoginTextsResponse {
details: ObjectDetails | undefined;
}
export interface ResetCustomLoginTextsToDefaultRequest {
language: string;
}
export interface ResetCustomLoginTextsToDefaultResponse {
details: ObjectDetails | undefined;
}
export interface AddIAMMemberRequest {
userId: string;
roles: string[];
}
export interface AddIAMMemberResponse {
details: ObjectDetails | undefined;
}
export interface UpdateIAMMemberRequest {
userId: string;
roles: string[];
}
export interface UpdateIAMMemberResponse {
details: ObjectDetails | undefined;
}
export interface RemoveIAMMemberRequest {
userId: string;
}
export interface RemoveIAMMemberResponse {