UPDATE transaction

I found a couple of sentences in STU3 that seem to be contradictory:

“The update interaction creates a new current version for an existing resource or
creates an initial version if no resource already exists for the given id.”

And later:

“If no id element is provided, or
the value is wrong, the server SHALL respond with an HTTP 400 error code, and SHOULD
provide an OperationOutcome identifying the issue.”

What does “wrong” mean ?

Thank you for the help!


Yes, that’s inconsistent. Please submit a change request. The correct behavior is to return a 400 if the id is missing and a 405 if it doesn’t exist and the server doesn’t support creation with a specified id. In theory, the server could also raise a 400 if the id didn’t meet the constraints for the element (contained illegal characters, was longer than 64 characters, etc.), but there’s no point in specifically calling that out for that one attribute - that’d be expected behavior if you sent invalid content for any element.