Account Management Protocol - RainMz/NintendoClients GitHub Wiki
NEX Protocols > Account Management (25)
Most methods cannot be used by normal users.
| Method ID | Method Name |
|---|---|
| 1 | CreateAccount |
| 2 | DeleteAccount |
| 3 | DisableAccount |
| 4 | ChangePassword |
| 5 | TestCapability |
| 6 | GetName |
| 7 | GetAccountData |
| 8 | GetPrivateData |
| 9 | GetPublicData |
| 10 | GetMultiplePublicData |
| 11 | UpdateAccountName |
| 12 | UpdateAccountEmail |
| 13 | UpdateCustomData |
| 14 | FindByNameRegex |
| 15 | UpdateAccountExpiryDate |
| 16 | UpdateAccountEffectiveDate |
| 17 | UpdateStatus |
| 18 | GetStatus |
| 19 | GetLastConnectionStats |
| 20 | ResetPassword |
| 21 | CreateAccountWithCustomData |
| 22 | RetrieveAccount |
| 23 | UpdateAccount |
| 24 | ChangePasswordByGuest |
| 25 | FindByNameLike |
| 26 | CustomCreateAccount |
| 27 | NintendoCreateAccount |
| 28 | LookupOrCreateAccount |
| 29 | DisconnectPrincipal |
| 30 | DisconnectAllPrincipals |
(1) CreateAccount
Request
| Type | Name |
|---|---|
| String | strPrincipalName |
| String | strKey |
| Uint32 | uiGroups |
| String | strEmail |
Response
| Type | Name |
|---|---|
| Result | %retval% |
(2) DeleteAccount
Request
| Type | Name |
|---|---|
| PID | idPrincipal |
Response
This method does not return anything.
(3) DisableAccount
Request
| Type | Name |
|---|---|
| PID | idPrincipal |
| DateTime | dtUntil |
| String | strMessage |
Response
| Type | Name |
|---|---|
| Result | %retval% |
(4) ChangePassword
Request
| Type | Name |
|---|---|
| String | strNewKey |
Response
| Type | Name |
|---|---|
| Bool | %retval% |
(5) TestCapability
Request
| Type | Name |
|---|---|
| Uint32 | uiCapability |
Response
| Type | Name |
|---|---|
| Bool | %retval% |
(6) GetName
Request
| Type | Name |
|---|---|
| PID | idPrincipal |
Response
| Type | Name |
|---|---|
| String | strName |
(7) GetAccountData
Request
This method does not take any parameters
Response
| Type | Name |
|---|---|
| Uint32 | %retval% |
| AccountData | oAccountData |
(8) GetPrivateData
Request
This method does not take any parameters.
Response
| Type | Name |
|---|---|
| Bool | %retval% |
| Data | oData |
(9) GetPublicData
Request
| Type | Name |
|---|---|
| PID | idPrincipal |
Response
| Type | Name |
|---|---|
| Bool | %retval% |
| Data | oData |
(10) GetMultiplePublicData
Request
| Type | Name |
|---|---|
| List<PID> | lstPrincipals |
Response
| Type | Name |
|---|---|
| Bool | %retval% |
| List<Data> | oData |
(11) UpdateAccountName
Request
| Type | Name |
|---|---|
| String | strName |
Response
| Type | Name |
|---|---|
| Result | %retval% |
(12) UpdateAccountEmail
Request
| Type | Name |
|---|---|
| String | strName |
Response
| Type | Name |
|---|---|
| Result | %retval% |
(13) UpdateCustomData
Request
| Type | Name |
|---|---|
| Data | oPublicData |
| Data | oPrivateData |
Response
| Type | Name |
|---|---|
| Result | %retval% |
(14) FindByNameRegex
Request
| Type | Name |
|---|---|
| Uint32 | uiGroups |
| String | strRegex |
| ResultRange | resultRange |
Response
| Type | Name |
|---|---|
| List<BasicAccountInfo> | plstAccounts |
(15) UpdateAccountExpiryDate
Request
| Type | Name |
|---|---|
| PID | idPrincipal |
| DateTime | dtExpiry |
| String | strExpiredMessage |
Response
This method does not return anything.
(16) UpdateAccountEffectiveDate
Request
| Type | Name |
|---|---|
| PID | idPrincipal |
| DateTime | dtEffectiveFrom |
| String | strNotEffectiveMessage |
Response
This method does not return anything.
(17) UpdateStatus
Request
| Type | Name |
|---|---|
| String | strStatus |
Response
This method does not return anything.
(18) GetStatus
Request
| Type | Name |
|---|---|
| PID | idPrincipal |
Response
| Type | Name |
|---|---|
| String | strStatus |
(19) GetLastConnectionStats
Request
| Type | Name |
|---|---|
| PID | idPrincipal |
Response
| Type | Name |
|---|---|
| DateTime | dtLastSessionLogin |
| DateTime | dtLastSessionLogout |
| DateTime | dtCurrentSessionLogin |
(20) ResetPassword
Request
This method does not take any parameters.
Response
| Type | Name |
|---|---|
| Bool | %retval% |
(21) CreateAccountWithCustomData
Request
| Type | Name |
|---|---|
| String | strPrincipalName |
| String | strKey |
| Uint32 | uiGroups |
| String | strEmail |
| Data | oPublicData |
| Data | oPrivateData |
Response
This method does not return anything.
(22) RetrieveAccount
Request
This method does not take any parameters.
Response
| Type | Name |
|---|---|
| AccountData | oAccountData |
| Data | oPublicData |
| Data | oPrivateData |
(23) UpdateAccount
Request
| Type | Name |
|---|---|
| String | strKey |
| String | strEmail |
| Data | oPublicData |
| Data | oPrivateData |
Response
This method does not return anything.
(24) ChangePasswordByGuest
Request
| Type | Name |
|---|---|
| String | strPrincipalName |
| String | strEmail |
| String | strKey |
Response
This method does not return anything.
(25) FindByNameLike
Request
| Type | Name |
|---|---|
| Uint32 | uiGroups |
| String | strLike |
| ResultRange | resultRange |
Response
| Type | Name |
|---|---|
| List<BasicAccountInfo> | plstAccounts |
(26) CustomCreateAccount
Request
| Type | Name |
|---|---|
| String | strPrincipalName |
| String | strKey |
| Uint32 | uiGroups |
| String | strEmail |
| Data | oAuthData |
Response
| Type | Name |
|---|---|
| PID | pid |
(27) NintendoCreateAccount
Request
| Type | Name |
|---|---|
| String | strPrincipalName |
| String | strKey |
| Uint32 | uiGroups |
| String | strEmail |
| Data | oAuthData |
oAuthData is either NintendoCreateAccountData (Wii U) or AccountExtraInfo (3DS).
Response
| Type | Name |
|---|---|
| PID | pid |
| String | pidHMAC |
(28) LookupOrCreateAccount
Request
| Type | Name |
|---|---|
| String | strPrincipalName |
| String | strKey |
| Uint32 | uiGroups |
| String | strEmail |
| Data | oAuthData |
Response
| Type | Name |
|---|---|
| PID | pid |
(29) DisconnectPrincipal
Request
| Type | Name |
|---|---|
| PID | idPrincipal |
Response
| Type | Name |
|---|---|
| Bool | %retval% |
(30) DisconnectAllPrincipals
Request
This method does not take any parameters.
Response
| Type | Name |
|---|---|
| Bool | %retval% |
Key Derivation
Some functions take a key string. This is a hex string derived from the password using the following method:
| Platform | Method |
|---|---|
| 3DS / Wii U | MD5-hash the password 65000 times |
| Switch | MD5-hash the password once |
Types
BasicAccountInfo (Structure)
| Type | Name |
|---|---|
| PID | m_pidOwner |
| String | m_strName |
AccountData (Structure)
| Type | Name |
|---|---|
| PID | m_pid |
| String | m_strName |
| Uint32 | m_uiGroups |
| String | m_strEmail |
| DateTime | m_dtCreationDate |
| DateTime | m_dtEffectiveDate |
| String | m_strNotEffectiveMsg |
| DateTime | m_dtExpiryDate |
| String | m_strExpiredMsg |
AccountExtraInfo (Structure)
| Type | Description |
|---|---|
| Uint64 | Unknown |
| Uint32 | Unknown |
| String | NEX token |
NintendoCreateAccountData (Structure)
| Type | Description |
|---|---|
| NNAInfo | NNA info |
| String | NEX token |
| DateTime | Birthday |
| Uint64 | Unknown |