Skip to content

Organization.Member type does not include ExternalID #267

Description

@cpeterson42

Hi, small suggestion:

The Member type currently does not natively support ExternalID. This is in the http response and the other SDKs.

// Member:
type Member struct {
	// OrganizationID: Globally unique UUID that identifies a specific Organization. The `organization_id` is
	// critical to perform operations on an Organization, so be sure to preserve this value.
	OrganizationID string `json:"organization_id,omitempty"`
	// MemberID: Globally unique UUID that identifies a specific Member. The `member_id` is critical to perform
	// operations on a Member, so be sure to preserve this value.
	MemberID string `json:"member_id,omitempty"`
	// EmailAddress: The email address of the Member.
	EmailAddress string `json:"email_address,omitempty"`
	// Status: The status of the Member. The possible values are: `pending`, `invited`, `active`, or `deleted`.
	Status string `json:"status,omitempty"`
	// Name: The name of the Member.
	Name string `json:"name,omitempty"`
	// SSORegistrations: An array of registered [SAML Connection](saml-connection-object) or
	// [OIDC Connection](oidc-connection-object) objects the Member has authenticated with.
	SSORegistrations []SSORegistration `json:"sso_registrations,omitempty"`
	// IsBreakglass: Identifies the Member as a break glass user - someone who has permissions to authenticate
	// into an Organization by bypassing the Organization's settings. A break glass account is typically used
	// for emergency purposes to gain access outside of normal authentication procedures. Refer to the
	// [Organization object](organization-object) and its `auth_methods` and `allowed_auth_methods` fields for
	// more details.
	IsBreakglass bool `json:"is_breakglass,omitempty"`
	// MemberPasswordID: Globally unique UUID that identifies a Member's password.
	MemberPasswordID string `json:"member_password_id,omitempty"`
	// OAuthRegistrations: A list of OAuth registrations for this member.
	OAuthRegistrations []OAuthRegistration `json:"oauth_registrations,omitempty"`
	// EmailAddressVerified: Whether or not the Member's email address is verified.
	EmailAddressVerified bool `json:"email_address_verified,omitempty"`
	// MFAPhoneNumberVerified: Whether or not the Member's phone number is verified.
	MFAPhoneNumberVerified bool `json:"mfa_phone_number_verified,omitempty"`
	// IsAdmin: Whether or not the Member has the `stytch_admin` Role. This Role is automatically granted to
	// Members
	//   who create an Organization through the
	// [discovery flow](https://stytch.com/docs/b2b/api/create-organization-via-discovery). See the
	//   [RBAC guide](https://stytch.com/docs/b2b/guides/rbac/stytch-default) for more details on this Role.
	IsAdmin            bool   `json:"is_admin,omitempty"`
	TOTPRegistrationID string `json:"totp_registration_id,omitempty"`
	// RetiredEmailAddresses:
	//   A list of retired email addresses for this member.
	//   A previously active email address can be marked as retired in one of two ways:
	//   - It's replaced with a new primary email address during an explicit Member update.
	//   - A new email address is surfaced by an OAuth, SAML or OIDC provider. In this case the new email
	// address becomes the
	//   Member's primary email address and the old primary email address is retired.
	//
	//   A retired email address cannot be used by other Members in the same Organization. However, unlinking
	// retired email
	//   addresses allows them to be subsequently re-used by other Organization Members. Retired email
	// addresses can be unlinked
	//   using the [Unlink Retired Email endpoint](https://stytch.com/docs/b2b/api/unlink-retired-member-email).
	//
	RetiredEmailAddresses []RetiredEmail `json:"retired_email_addresses,omitempty"`
	// MFAEnrolled: Sets whether the Member is enrolled in MFA. If true, the Member must complete an MFA step
	// whenever they wish to log in to their Organization. If false, the Member only needs to complete an MFA
	// step if the Organization's MFA policy is set to `REQUIRED_FOR_ALL`.
	MFAEnrolled bool `json:"mfa_enrolled,omitempty"`
	// MFAPhoneNumber: The Member's phone number. A Member may only have one phone number.
	MFAPhoneNumber   string `json:"mfa_phone_number,omitempty"`
	DefaultMFAMethod string `json:"default_mfa_method,omitempty"`
	// Roles: Explicit or implicit Roles assigned to this Member, along with details about the role assignment
	// source.
	//    See the [RBAC guide](https://stytch.com/docs/b2b/guides/rbac/role-assignment) for more information
	// about role assignment.
	Roles []MemberRole `json:"roles,omitempty"`
	// TrustedMetadata: An arbitrary JSON object for storing application-specific data or
	// identity-provider-specific data.
	TrustedMetadata map[string]any `json:"trusted_metadata,omitempty"`
	// UntrustedMetadata: An arbitrary JSON object of application-specific data. These fields can be edited
	// directly by the
	//   frontend SDK, and should not be used to store critical information. See the
	// [Metadata resource](https://stytch.com/docs/b2b/api/metadata)
	//   for complete field behavior details.
	UntrustedMetadata map[string]any `json:"untrusted_metadata,omitempty"`
	// CreatedAt: The timestamp of the Member's creation. Values conform to the RFC 3339 standard and are
	// expressed in UTC, e.g. `2021-12-29T12:33:09Z`.
	CreatedAt *time.Time `json:"created_at,omitempty"`
	// UpdatedAt: The timestamp of when the Member was last updated. Values conform to the RFC 3339 standard
	// and are expressed in UTC, e.g. `2021-12-29T12:33:09Z`.
	UpdatedAt *time.Time `json:"updated_at,omitempty"`
	// SCIMRegistration: A scim member registration, referencing a [SCIM Connection](scim-connection-object)
	// object in use for the Member creation.
	SCIMRegistration *SCIMRegistration `json:"scim_registration,omitempty"`
}

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions