Issue Tracker Requirements Asks for Endpoints to Handle GUI Input and API Calls?

I have gathered the Issue Tracker requirements from the example and the tests. I have questions about the below three requirements:
• If you send a POST request to /api/issues/{projectname} without the required fields, return will be the error { error: ‘required field(s) missing’ }
• When the PUT request sent to /api/issues/{projectname} does not include an _id, the return value is { error: ‘missing _id’ }.
• You can send a DELETE request to /api/issues/{projectname} with an _id to delete an issue. If no _id is sent, the return value is { error: ‘missing _id’ }

The above three tests/requirements seem to indicate the need for three additional API endpoints because the endpoints for handling the GUI would not need to handle missing IDs as the html has _id as a required field. Besides, the route would not be .route(/api/issues/apitest/:projectname). Instead, the route would have additional mandatory parameters such as an _id. Ex: .route(/api/issues/apitest/:projectname/:_id).

Question 1: Can anyone confirm if the above is the right assumption?

If so, then there needs to be two additional routes to handle the three API endpoints:

.post((req, res) => {
// the rest of the post code is similar to that for handling the GUI input, except the data sources will
// be req.params instead of req.body.
// The optional fields such as assigned_to and status_text will be passed as req.query.

.put((req, res) => {
// the rest of the put code is similar to that for handling the GUI put, except the _id will be from
// req.params, and the rest of the non-mandatory fields to be updated will come from req.query.

.delete((req, res) => {
// the delete code will be similar to that for handling the GUI delete, except the _id will be from
// req.params

Question 2: Then the example Issue Tracker seems to not have a complete implementation of the POST, PUT, and DELETE APIs. Please confirm that the example is simply missing the complete implementation, and it’s not the fact that I’m adding additional requirements to have three additional API endpoints that are not needed.

Q2 Test 1: API Delete
First, make a get request to get some IDs to delete.
Test site: REST API Console - GO REST
Test endpoint:
Test request type: get
Test output:

Then try to delete the first ID returned. This test should have resulted in ID 5fd0adccdcec131c9729b87e being successfully deleted, but instead, a 404 is returned.

Test endpoint:

I know I am talking to myself, but let’s close this thread so that future students don’t get the wrong idea that I am saying there is definitive proof that aliens built the great pyramids. There is no need for the three additional API endpoints. I finally interpreted the three requirements to mean that just in case the required fields get lost in the transmission, there is a way to reject such requests from the GUI.