I had a quiet long debate with my colleague about the proper HTTP verb to be used for one of our operation that changes the STATE of a resource.

Suppose we have a resource called `WakeUpLan` that tries to send event to a system connected in a network. This is kind of a Generic State Machine,

```
{
id: 1,
retries: {
 idle: 5, // after 5 retries it went to FAILED state
 wakeup: 0,
 process: 0,
 shutdown: 0
},
status: 'FAILED',
// other attributes
}`

```

`IDLE --> WAKEUP ---> PROCESS ---> SHUTDOWN` `|` `---->` `[FAILED]`

Every state has a retry mechanism, i.e in `IDLE` case it tries for `x` times to `transition` to `WAKEUP` and after `x` retries it dies out and goes to `FAILED` state.

All the `FAILED` resource can be again manually restarted or retried one more time from some interface.

So, we have a confusion regarding which HTTP verb best suits in this case.

In my opinion, it is just a change in `status` and resetting retry count to 0, so that our retry mechanism can catch this and try in next iteration.
so it should be a pure `PATCH` request 

`PATCH retry/{id}`
`{state: 'IDLE'}`

But my colleague opposes it to be a POST request as this is a pure action and should be treated as POST.
I am not convinced because we are not creating any new resource but just updating existing resource that our REST server already knows about it.

I would like to know and corrected if I am wrong here.

Any suggestions/advices are welcome.

Thanks in advance.