use patch instead of put for partial updates
raise a conflict exception if client tries to set a job to 'in_progress' if it's already in this state