Add a Watch-only Wallet in Bitcoind When running bitcoind under OSX/Linux, how can we add a watch-only wallet using the JSON RPC? Do we need the public key or is the bitcoin address sufficient?
As of bitcoind v10, there is support for watch-only addresses. A bitcoin address is sufficient. The bitcoin-cli command is:

bitcoin-cli importaddress "address" ( "label" rescan )

Where "address" is the address you wish to watch, "label" is an optional label for the the address, and "rescan" is a boolean of whether bitcoind should rescan all previous transactions for activity relating to "address". 

The example in bitcoin-cli's documentation of the JSON-RPC command is:

curl --user myusername --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "importaddress", "params": ["myaddress", "testing", false] }' -H 'content-type: text/plain;' http://127.0.0.1:8332/

Release notes for watch-only wallet support