1 of 3

My advice: do both. :)

The API client can decide to use the messages from your API or read each error code and create his own messages. Like:

{
    "errorCode": "4005",
    "message": "Person already registered"
}