Is it possible to automate Bitcoin withdrawal ? Can people withdraw their amount from a wallet through an API ?
There are many types of wallet. Can you be more specific? Also, define "withdraw"

Person A has an account in web app X and earned some 3 BTC over there. Now he wants to withdraw his BTC amount from web app's wallet to his own wallet. How can we automate this without any manual intervention ? Let us suppose the web app X's wallet is on blockchain.info, but person A's wallet may be anywhere. Person A will only provide his BTC address.
I'm not familiar with blockchain.info's API - you could contact them or study their API.
U may suggest API of some other wallet. That's not a problem. But how can it be automated ?
In the example you gave, it would require the holder of the wallet (blockchain.info) to offer the automation as part of the service. While I don't believe they do this, it's actually a pretty commonplace thing; most mining pools allow you to set a "balance threshold," so that when your balance hits that amount, your bitcoins are automatically sent to the address of your choosing. It's also possible for them to spend your balance to you at regular intervals, regardless of amount, although I'm not sure how common (or practical) that is.
If you wanted the automation to be prompted from the side of the user with the private wallet (say your phone wallet app automatically "withdraws" funds whenever it detects that you've entered a store,) it would require some sort of API setup where your wallet app is instructing the web app to send you the funds at the appropriate times; then, as long as the web app's systems were online and working, it would function just like a withdrawal. From what I understand, the core devs are working on code that may make this easier (by being able to request payment, which you could then automate from your side.)
Still, it requires a willingness on the part of the web service provider to implement the API setup and to perform the spends when authorized.