В REST - revertable DELETE было дано хорошее введение в то, как моделировать изменения состояния в REST. По сути, если у вас есть ресурс с полем status, вы просто добавляете новую версию этого ресурса с полем обновления status.
В этой теме я хотел бы расширить эту модель. Допустим, у вас есть ресурс, который может находиться в двух состояниях: 1 и 2. В отличие от простой модели, описанной в процитированном посте, существует три перехода для перехода из состояния 1 в состояние 2 вместо одного.
Мой вопрос: как бы вы моделировали переходы между состояниями в REST?
Я сам не могу придумать RPC-подобный POST, который, вероятно, не очень RESTian:
POST http://server/api/x
target_state=2&transition=3
Это изменяет ресурс x из состояния 1 в состояние 2 с помощью перехода 3.