When you create the user, are you setting them with activate=false? This will create them in the STAGED status.
Also, what is the sequence of API calls you make that you are seeing an error related to only being able to make a call on a STAGED user? To trigger the hook, I expect that you are making an API call to create the user and trigger the hook per our docs.