"Field 'customfield_XXXX' cannot be set. It is not on the appropriate screen, or unknown."

@KartikPatra,

If the API doesn’t list your custom field as available, then it would explain why you can’t POST a value for it. I can only think of 2 possibilities. One is that you have the wrong screen id. Let’s assume that you do know how to find that, the other problem could be that you missed activating the screen. See the last step here:
https://confluence.atlassian.com/adminjiraserver/defining-a-screen-938847288.html

Let us know if that solves your problem. Otherwise, more context would really help.