Below is a detailed list of every error code ever discovered. Some of the commands have never before been encountered, but exist nonetheless. Each error code has details on every way I have seen them used, but it is quite possible that there are missing situations.
200
201
FLN
would be an example. >>> CHG 19 FLN\r\n
<<< 201 19\r\n
ADD
an invalid email address. >>> ADD 20 FL a@b a@b\r\n
<<< 201 20\r\n
205
ADD
a nonexistent, but valid, account name. >>> ADD 21 AL non_existent_account@passport.com non_existent_account@passport.com\r\n
<<< 205 21\r\n
206
207
USR
after already logging in, this error will be sent in response. >>> USR 20 MD5 I example@passport.com\r\n
<<< 207 20\r\n
>>> USR 21 MD5 S 6b05a0f5b1aa0959e128cfdd513ccf5c\r\n
<<< 207 21\r\n
208
CAL
which specifies an invalid account name. >>> CAL 2 @@a\r\n
<<< 208 2\r\n
209
REA
when there is a blocked word/phrase in the new nickname or when the Passport has not yet been confirmed. >>> REA 18 user@passport.com look%20msn\r\n
<<< 209 18\r\n
210
>>> ADD 23 FL user@passport.com user@passport.com 0\r\n
<<< 210 23\r\n
215
ADD
a user to a list, but the user is already in that list. >>> ADD 26 AL user@passport.com user@passport.com\r\n
<<< ADD 26 AL 824 user@passport.com user@passport.com\r\n
>>> ADD 27 AL user@passport.com user@passport.com\r\n
<<< 215 27\r\n
ADD
a user to your FL in a group that the user is already in. >>> ADD 28 FL user@passport.com user@passport.com 2\r\n
<<< ADD 28 825 FL user@passport.com user@passport.com 2\r\n
>>> ADD 29 FL user@passport.com user@passport.com 2\r\n
<<< 215 29\r\n
CAL
) a user into a switchboard session that has already been invited and/or is already present. >>> CAL 5 example@passport.com\r\n
<<< CAL 5 RINGING 286195\r\n
>>> CAL 6 example@passport.com\r\n
<<< 215 6\r\n
216
REM
s that try to remove users that are not in the list. Also sent if you try to remove nonexistent or invalid account names because, naturally, they couldn't be in your list. >>> REM 14 FL user_not_in_list@msn.com\r\n
<<< 216 14\r\n
CAL
s) to users that either have you in their BL or have their BLP settings so that you are automatically in their BL. This is only sent when the user is online, but you're not allowed to know their online status. >>> CAL 2 example@passport.com\r\n
<<< 216 2\r\n
REA
s that try to rename users that are not in any of your lists. >>> REA 48 random_user@randomdomain.com nickname\r\n
<<< 216 48\r\n
217
CAL
s) to users that are currently either offline or appearing offline. This error will also be sent in reply to invitations to nonexistent account names. >>> CAL 2 myname@msn.com\r\n
<<< 217 2\r\n
>>> CAL 3 nonexistent@passport.com\r\n
<<< 217 3\r\n
218
GTC
or a BLP
if it tries to change the mode to the mode it is already in. In other words, if the GTC value is already set to A, and the client sends the GTC command setting it to A again, it will receive this error. >>> GTC 15 A\r\n
<<< GTC 15 150 A\r\n
>>> GTC 16 A\r\n
<<< 218 16\r\n
>>> BLP 17 BL\r\n
<<< BLP 17 151 BL\r\n
>>> BLP 18 BL\r\n
<<< 218 18\r\n
219
ADD
that causes the same user to be in the BL and the AL at the same time. Obviously, that cannot be possible, and the user will not be added. >>> ADD 15 AL example@passport.com example@passport.com\r\n
<<< ADD 15 AL 108 example@passport.com Mike\r\n
>>> ADD 16 BL example@passport.com example@passport.com\r\n
<<< 219 16\r\n
223
ADG
) so that you have more than 30 groups (the maximum). The group with the ID of zero counts toward the limit. >>> ADG 38 thirtyfirst%20group 0\r\n
<<< 223 38\r\n
224
ADD
a user to your FL with a nonexistent group ID. Also sent in reply to REM
s to nonexistent groups. Also sent in reply if you try to remove (RMG
) or rename (REG
) a nonexistent group. >>> RMG 24 15\r\n
<<< RMG 24 12065 15\r\n
>>> ADD 25 FL example@passport.com example@passport.com 15\r\n
<<< 224 25\r\n
>>> REM 26 FL example@passport.com 15\r\n
<<< 224 26\r\n
>>> RMG 27 15\r\n
<<< 224 27\r\n
>>> REG 28 15 New%20Name 0\r\n
<<< 224 28\r\n
225
REM
) a user from an existent group that they are not currently in. >>> REM 27 FL example@passport.com 3\r\n
<<< 224 27\r\n
229
ADG
) with more than 61 bytes in the name. >>> ADG 50 this%20group's%20name%20is%20sixty%20two%20bytes%20in%20length 0\r\n
<<< 229 50\r\n
230
RMG
) the group with the ID of zero. >>> RMG 28 0\r\n
<<< 230 28\r\n
231
280
281
300
301
>>> FND 103 fname=Fred lname=Smith city=* state=* country=*\r\n
<<< 301 103\r\n
302
500
>>> USR 28 MD5 S 1938acd78b5524ce56a0ab6a01f3239\r\n
<<< 500 28\r\n
501
502
>>> FND 3 fname=Bill lname=Gates city=* state=* country=US\r\n
<<< 502 3\r\n
510
520
540
QRY
that is invalid. The server will close the connection after sending the error. <<< CHL 0 15570131571988941333\r\n
>>> QRY 10 msmsgs@msnmsgr.com 32\r\n
4f2f5a91b72102cd28355e9fc9000d6e
<<< 540 10\r\n
600
601
USR
to the NS if the server is somehow "unavailable". >>> USR 10 MD5 I example@passport.com\r\n
<<< 601 10\r\n
602
603
604
605
707
710
CVR
if you send an invalid LCID. >>> CVR 1 0x0809 winnt 5.1 i386 MSNMSGR 6.0.0602 MSMSGS example@passport.com\r\n
<<< 710 1\r\n
711
712
713
714
715
PRP
setting an invalid phone type of three or less characters. >>> PRP 30 PHV 555-0690\r\n
<<< 715 30\r\n
REA
) on an unverified Passport account. >>> REA 31 me@passport.com newname\r\n
<<< 715 31\r\n
717
731
>>> VER 1 MSNP7\r\n
>>> CVR 2 foo\r\n
<<< VER 1 MSNP7\r\n
<<< 731 2\r\n
<o> Server Closes Connection\r\n
800
REA
) too rapidly, this error message will be sent in response to the commands that the server rejects. This does not affect renaming other users. >>> REA 100 me@passport.com NAME\r\n
<<< REA 100 2000 me@passport.com NAME\r\n
>>> REA 101 me@passport.com NAME\r\n
<<< REA 101 2001 me@passport.com NAME\r\n
>>> REA 102 me@passport.com NAME\r\n
<<< REA 102 2002 me@passport.com NAME\r\n
>>> REA 103 me@passport.com NAME\r\n
<<< REA 103 2003 me@passport.com NAME\r\n
>>> REA 104 me@passport.com NAME\r\n
<<< 800 104\r\n
CHG
) too rapidly. >>> CHG 105 NLN\r\n
<<< CHG 105 NLN\r\n
>>> CHG 106 HDN\r\n
<<< CHG 106 HDN\r\n
>>> CHG 107 NLN\r\n
<<< CHG 107 NLN\r\n
>>> CHG 108 HDN\r\n
<<< CHG 108 HDN\r\n
>>> CHG 109 NLN\r\n
<<< 800 109\r\n
910
>>> USR 28 MD5 S 1938acd78b5524ce56a0ab6a01f3239\r\n
<<< 910 28\r\n
911
USR
command to the DS. Also sent if the account name is invalid. >>> USR 3 MD5 S example@passport.com\r\n
<<< 911 3\r\n
>>> USR 4 MD5 I passport.com\r\n
<<< 911 4\r\n
USR
command to the NS. Also sent if the account name is invalid or nonexistent. >>> USR 6 MD5 S 23e54a439a6a17d15025f4c6cbd0f6b4\r\n
<<< 911 6\r\n
USR
or ANS
. >>> USR 1 myname_123@hotmail.com 486979.1047702516.105\r\n
<<< 911 1\r\n
>>> ANS 1 myname_123@hotmail.com 849102291.520491932 11752098\r\n
<<< 911 1\r\n
912
913
HDN
status which the user is currently in. The only known command that is prohibited when offline is XFR
>>> XFR 13 SB\r\n
<<< 913 13\r\n
914
915
916
917
918
919
920
921
>>> USR 28 MD5 S 1938acd78b5524ce56a0ab6a01f3239\r\n
<<< 921 28\r\n
922
923
USR
to the NS if client is logging in with a Kids Passport without parental consent to chat online. >>> USR 29 MD5 S 3b18acd78b5524ce56a0ab6a01f3239\r\n
<<< 923 29\r\n
924