1

I have an application where a user can create several schedules from a list of events. Each item added to a schedule can be updated(or edited).

Assume Schedule 1 contains Event 1 and Event 2 and Schedule 2 contains Event 3 and Event 4.

The endpoint to update an item in a schedule is /api/{scheduleNumber}/{eventId}

Now if the user sends a PUT request to the endpoint /api/{1}/{3}, with a properly formed body about the updated event, this is obviously wrong since Schedule 1 does not contain Event 3.

In this situation, is it appropriate to send 400 Bad Request, assuming that the request has a valid syntax?

Guru Stron
  • 102,774
  • 10
  • 95
  • 132
user19187727
  • 169
  • 9

1 Answers1

1

I would argue that 404 Not Found as response for not found resource can be preferable approach and it is applicable in this case since no Event 3 for Schedule 1 exists. And it would be better/more clear if combined with recommended "use logical nesting on endpoints" approach.

Guru Stron
  • 102,774
  • 10
  • 95
  • 132