code: @PATCH
    @Path("/{host}/jobs/{job}")
    @Produces(APPLICATION_JSON)
    @Timed
    @ExceptionMetered
    public SetGoalResponse jobPatch(@PathParam("host") final String host,
                                    @PathParam("job") final JobId jobId,
                                    @Valid final Deployment deployment,
                                    @QueryParam("token") @DefaultValue("") final String token) {
      if (!deployment.getJobId().equals(jobId)) {
        throw badRequest(new SetGoalResponse(SetGoalResponse.Status.ID_MISMATCH, host, jobId));
      }
      try {
        model.updateDeployment(host, deployment, token);
      } catch (HostNotFoundException e) {
        throw notFound(new SetGoalResponse(SetGoalResponse.Status.HOST_NOT_FOUND, host, jobId));
      } catch (JobNotDeployedException e) {
        throw notFound(new SetGoalResponse(SetGoalResponse.Status.JOB_NOT_DEPLOYED, host, jobId));
      } catch (TokenVerificationException e) {
        throw forbidden(new SetGoalResponse(SetGoalResponse.Status.FORBIDDEN, host, jobId));
      }
      log.info("patched job {} on host {}", deployment, host);
      return new SetGoalResponse(SetGoalResponse.Status.OK, host, jobId);
    }
docs: Alters the current deployment of a deployed job identified by its job id on the specified
  host.
  
  @param host       The host.
  @param jobId      The ID of the job.
  @param deployment The new deployment.
  @param token      The authorization token for this job.
  
  @return The response.