rest

REST API Status Change


I am designing a REST API.

I have a single resource that I want to be able to change the status of for different conditions e.g. the URI is:

Applications/{application_id}/

The possible status changes are to set the application to:

  1. Cancelled
  2. SignedOff
  3. Hold

Each status change will require different information e.g. a reason for cancelled, a date for signedoff.

What would be a good looking URI to handle this? I had thought of

  1. POST: Applications/{application_id}/Cancel
  2. POST: Applications/{application_id}/SignOff
  3. POST: Applications/{application_id}/Hold

but it doesnt seem right to me.

EDIT:

I should have mentioned that I was already planning POST: Applications/{application_id} to update an existing application with a full set of application data.


Solution

  • POST: Applications/{application_id}?cancel=true
    

    POST is used only for CREATE. I think put will be better option.