Every set of messages returned from a command sent through the API will include exactly one failure message or exactly one success message, and an arbitrary number of warnings. As a simple alternative to full XML support of these return codes, it is possible to simply search for a failure result or a success result, and use that to report the status, ignoring all text and warnings. Failure codes: Error 500 is a free format error message coming out of the OS or other software. 500, %exception-msg% 501, invalid command '%form(command)' 502, required parameter 'type' is missing 502, required parameter 'user' is missing 502, required parameter 'zone' is missing 503, you are not entitled to delete this user 503, you are not entitled to modify this user 503, you are not entitled to route for this user 504, expiration time must be greater than 1/1/1972 505, you are not entitled to modify this zone 506, this user already has a trial zone 507, these nameservers are not compatible 508, nameserver '%form(ns1)' is invalid 508, nameserver '%form(ns2)' is invalid 508, nameserver '%form(ns3)' is invalid 508, nameserver '%form(ns4)' is invalid 510, failure followed by success %num% (This error should never occur) 511, failure followed by warning %num% (This error should never occur) Warnings: 301, user already exists 301, user is not in the database 302, zone '%form(zone)' already exists for user '%form(user)' Success Codes: 200, user successfully added 200, zone successfully added 200, user '%form(user)' was deleted 200, zone '%form(zone)' was deleted for user '%form(user)' 201, user not changed 201, zone not added or modified 201, user not deleted 201, user's zone was not deleted 202, user successfully updated