According to the UWS documentation (see below "2.2.3.1. Creating a Job") it is also possible for the inital POST to specifiy a phase=RUN parameter to set the job immediately into a potentially running state, and thus avoiding to explicitly call the job 'phase' endpoint. VizieR and IRSA are using this feature in their implementations which makes the job submission a bit more convenient.
After having explicitly called the job 'phase' endpoint (via a POST with phase=RUN), I get a http response code of 405 (Method Not Allowed).
I've tried exactly the same with VizieR an IRSA asynch TAP services and everything works fine there! So, this doesn't seem to be an issue related to the correct use of the UWS pattern.
1)
https://datalab.noao.edu/tap/async?request=doQuery&lang=ADQL&format=csv&query=select+TOP+100+*+from+allwise.source
<?xml version="1.0" encoding="UTF-8"?>
<uws:job xmlns:uws="
http://www.ivoa.net/xml/UWS/v1.0" xmlns:xlink="
http://www.w3.org/1999/xlink">
<uws:jobId>xcnmm54doe1yczj5</uws:jobId>
<uws:runId />
<uws:ownerId xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true" />
<uws:phase>PENDING</uws:phase>
<uws:quote>2021-03-23T10:18:27.135</uws:quote>
<uws:startTime xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true" />
<uws:endTime xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true" />
<uws:executionDuration>3600</uws:executionDuration>
<uws:destruction>2021-03-30T09:18:27.135</uws:destruction>
<uws:parameters />
<uws:results />
</uws:job>
2)
https://datalab.noao.edu/tap/async/xcnmm54doe1yczj5/phase?phase=RUN
-> 405 (Method Not Allowed)
2.2.3.1. Creating a Job
POSTing a request to the Job List creates a new job (unless the service rejects the request). The response when a job is accepted must have code 303 “See other” and the Location header of the response must point to the created job. The response when the job is rejected should be a HTTP 403 Forbidden status style response.
This initial POST will in most cases carry parameters for the protocol that is using the UWS pattern, as detailed in 4 .In addition for the initial post may contain job control parameters if allowed by the implementing protocol (i.e. if UWS job control parameter names do not clash with the implementing protocol parameters). One use of this facility might be to have the job placed into a potentially running state by adding ?PHASE=RUN query part to the job creation URL.