Typecommon.AuthenticationType`json:"type"`// Required. The login type being used. One of: ["m.login.password", "m.login.token"]
Identifiercommon.UserIdentifier`json:"identifier"`// Identification information for the user.
Passwordstring`json:"password,omitempty"`// Required when type is m.login.password. The user's password.
Tokenstring`json:"token,omitempty"`// Required when type is m.login.token. Part of Token-based login.
DeviceIDstring`json:"device_id,omitempty"`// ID of the client device. If this does not correspond to a known client device, a new device will be created. The server will auto-generate a device_id if this is not specified.
InitialDeviceDisplayNamestring`json:"initial_device_display_name,omitempty"`// A display name to assign to the newly-created device. Ignored if device_id corresponds to a known device.