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"`
}
Hi, small suggestion:
The Member type currently does not natively support ExternalID. This is in the http response and the other SDKs.