PUTでリソースの更新を許すかどうかというのは、新規作成できるユーザと、更新できるユーザは権限が異なるという認証や認可(権限)の問題なので、適切に設計すれば大丈夫でしょう。ステータスコードは、成功なら201、失敗なら権限なしということで401/403になります。パラメータでURL(の一部)を指定することは問題ありません。この場合、成功なら201、失敗なら409ですかね。いうリクエストヘッダが相当します。リソースが存在しなければ実行しろという意味になります。この場合は失敗すると412となります。ある意味ではこれが一番RESTfulかも。