code: @POST
    @Produces(APPLICATION_JSON)
    @Timed
    @ExceptionMetered
    public CreateJobResponse post(@Valid final Job job,
                                  @RequestUser final String username) {
      final Job.Builder clone = job.toBuilder()
          .setCreatingUser(username)
          .setCreated(clock.now().getMillis())
          // If the job had a hash coming in, preserve it
          .setHash(job.getId().getHash());
      final Job actualJob = clone.build();
      final Collection<String> errors = jobValidator.validate(actualJob);
      final String jobIdString = actualJob.getId().toString();
      if (!errors.isEmpty()) {
        throw badRequest(new CreateJobResponse(INVALID_JOB_DEFINITION, ImmutableList.copyOf(errors),
            jobIdString));
      }
      try {
        model.addJob(actualJob);
      } catch (JobExistsException e) {
        throw badRequest(new CreateJobResponse(JOB_ALREADY_EXISTS, ImmutableList.<String>of(),
            jobIdString));
      }
      log.info("created job: {}", actualJob);
      return new CreateJobResponse(CreateJobResponse.Status.OK, ImmutableList.<String>of(),
          jobIdString);
    }
docs: Create a job given the definition in {@code job}.
  
  @param job      The job to create.
  @param username The user creating the job.
  
  @return The response.