Can't place market order. Getting "Access is denied" error message

I’ve looked at the other posts having trouble with order placement and I think I’ve done everything suggested in those threads. I still can’t place orders. The exact message being sent to the API is (copied from my program log):

order/placeorder
4

{"accountSpec":"myaccountname","accountId":myaccountnumber,"action":"Buy","symbol":"MESU2","orderQty":1,"orderType":"Market","isAutomated":true}

I’m getting “myaccountname” from the name field of a user/list request and “myaccountnumber” from the id field of the same request.
The response message is:

{
  s: 200,
  i: 4,
  d: { failureReason: 'UnknownReason', failureText: 'Access is denied' }
}

I’m using the demo endpoint. I’ve created a UUID for my device. I’m quite certain that the websocket connection is authorised since I can use the “user/list” endpoint without issue.
I can’t think of anything else that could fix this.

edit: Because I accidentally added extra formatting to the original post that made it hard to read.

I figured it out. I was using the wrong account number.
For future reference for anyone else having the same problem, it seems that the “accountId” field expects a number other than the one supplied by the “user/list” endpoint. The “user/syncRequest” endpoint provides the correct id.