You may wish to be more detailed in your response to the subscriber, and the tools to facilitate that communication are readily available.
If you are just interested in the Cliff's Notes version, just interrogate the api_result value: 0 indicates failure, 1 indicates success, and 2 indicates conditional success.
If you need more detail, it's there for you. The api_response_code indicates the specific result; the api_response_text contains our description of the code. If our descriptions are acceptable to you, you can display them. If you prefer to describe the result differently, just test the code and construct your own custom description based on it.
Here are the values returned from the signup API:
Failure - list id and api password combination is not correct:
Failure - a value for email was not present, or some fields were identified more than once:
api_response_text='email key not present or duplicate keys are present'
Failure - the email address is not properly formatted:
api_response_text='email address is not valid'
Failure - the email address is on the banned list:
api_response_text='email address is banned'
Failure - the email address is already present in your list:
api_response_text='email address is already on the list'
Warning - the category is not set up for this list, so the address is not placed into a category. The address was added to the list anyway.
api_response_text='supplied category value not valid'