A Job represents an individual Wonoloer (Worker) performing a Job Request.

States

Jobs progress through a series of states:

  • pending the state after the Wonoloer applies a job (this state will only be available for jobs where either the Customer setting and the Job Request has the pending state enabled). A Wonoloer in the “pending” state will have to wait until another api call changes to filled or the cut-off time is met.

  • rejected the state after the Pending job is rejected by either an api call or the cut-off time.

  • filled the state after the Wonoloer accepts a Job (i.e. presses “Accept” in the Wonolo app) or the pending job application is granted (from an api call which will set the state)

  • in_progress the state after a Wonoloer starts a job near the posted start time (i.e. pressed “Start” in the Wonolo app or a Requester “starts” the job for them manually in the Customer Portal)

  • completed the state after the Wonoloer has completed the Job (i.e. pressed “Complete” in the Wonolo app or the auto-complete setting is enabled)

  • approved the state after the Requestor has approved OR rated the Job (i.e. the Requestor approves/rates from Customer Portal)

  • cancelled the state after the Job or Job Request has been canceled (i.e. the Requestor cancels the job/job request in the Customer Portal)

  • withdrawn the state occurs when a Wonoloer withdraws from a job in the Wonolo app

  • no_show the state occurs when a Requester marks a Wonoloer as “no-show” in the Customer Portal.

  • paused the state occurs when a Wonoloer presses pause on the Wonolo app (this state will only be available for jobs with a W2 classification turned on)

Transitions

Jobs record an array of transitions which record when the Job state changed and meta-data such as the location of the Wonoloer when the transition took place.


Supported Formats

json

Returns a list of Jobs, optionally paginated. Note: the maximum number returned per page in any case is 50.

Supported Formats

json

Errors

Code Description
401 Unauthorized

Examples

curl -v -d "token=HdgXqxYWd5tTdyabzfzo" http://api.wonolo.com/api_v2/jobs
curl -v -d "token=HdgXqxYWd5tTdyabzfzo" http://api.wonolo.com/api_v2/jobs?page=10&per=25

Params

Param name Description
token
required

Token obtained from /authorize

Validations:

  • Must be a String

page
optional

The page number to start from

Validations:

  • Must be a Integer

per
optional

The size of the page

Validations:

  • Must be a Integer

state
optional

Filter Jobs by state

Validations:

  • Must be a String

job_request_id
optional

List jobs for the specified Job Request

Validations:

  • Must be a Integer

classification
optional

Return jobs by a specific tax classification

Validations:

  • Must be a String

w2_hourly_rate
optional

Return jobs by a specific hourly rate

Validations:

  • Must be a Float

updated_before
optional

Return jobs by those that were last updated before provided DateTime

Validations:

  • Must be a DateTime

updated_after
optional

Return jobs by those that were last updated after provided DateTime

Validations:

  • Must be a DateTime


POST /api_v2/jobs
Create a Job

Supported Formats

json

Errors

Code Description
403 Forbidden - if you have Public Pool access only

Params

Param name Description
token
required

Token obtained from /authorize

Validations:

  • Must be a String

job
required

The Job

Validations:

  • Must be a Hash

job[worker_id]
required

ID of the Worker to perform the Job

Validations:

  • Must be a Integer

job[job_request_id]
required

ID of the Job Request being fulfilled by this Job

Validations:

  • Must be a Integer

job[requestor_notes]
optional

Arbitary text to be attached to this Job - not visible to Worker

Validations:

  • Must be a String


Supported Formats

json

Errors

Code Description
403 Forbidden - if you have Public Pool access only

Params

Param name Description
token
required

Token obtained from /authorize

Validations:

  • Must be a String

job
required

The Job

Validations:

  • Must be a Hash

job[worker_id]
required

ID of the Worker to perform the Job

Validations:

  • Must be a Integer

job[job_request_id]
required

ID of the Job Request being fulfilled by this Job

Validations:

  • Must be a Integer

job[requestor_notes]
optional

Arbitary text to be attached to this Job - not visible to Worker

Validations:

  • Must be a String


Supported Formats

json

Errors

Code Description
403 Forbidden - if you have Public Pool access only

Params

Param name Description
token
required

Token obtained from /authorize

Validations:

  • Must be a String

state
optional

Use ‘cancelled’ if you want cancel a job.

Validations:

  • Must be a String

actual_duration
optional

The actual duration of a job, in minutes

Validations:

  • Must be a Integer

cancelled_reason
optional

Give a reason such as ‘admin_cancelled’, ‘decided_to_cancel’, or ‘asked_to_cancel’ so that the worker will not receive notifications for this job again

Validations:

  • Must be a String


GET /api_v2/jobs/:id
Get a specific Job

Supported Formats

json

Params

Param name Description
token
required

Token obtained from /authorize

Validations:

  • Must be a String