A Job Request represents a Requestor’s desire for Wonoloers to perform a Job. e.g. “I need 12 people at noon tomorrow to stack boxes.”

States

Job Requests progress through a series of states. Generally speaking, the state of a Job Request is determined by the states of the Jobs attached to it. The possible Job Request states are:

  • draft the Job Request has not yet been posted and may be incomplete.

  • unassigned the Job Request has not yet been posted so is not visible to Wonoloers. However, any Preferred Wonoloers are notified during this time, if specified.

  • posted the Job Request is acceptable by any qualified Wonoloer. During this time, qualified Wonoloers will be ranked and notified.

  • filled all of the Job Request’s slots are filled.

  • in_progress the Job Request start time has passed and at least one Wonoloer has started working.

  • completed all Wonoloers have completed work for this Job Request (i.e. all Jobs attached to this Job Request have a state of completed).

  • approved all Jobs attached to this Job Request are approved.

  • cancelled the Job Request is cancelled. All Jobs attached to this Job Request will also be cancelled.

  • unfilled the Job Request start time has passed but none of the slots was filled.


Supported Formats

json

Returns a list of Job Requests, 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/job_requests
curl -v -d "token=HdgXqxYWd5tTdyabzfzo" http://api.wonolo.com/api_v2/job_requests?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 Job Requests by state

Validations:

  • Must be a String

company_id
optional

Filter Job Requests by Company ID

Validations:

  • Must be a String

multi_day_job_request_id
optional

Filter Job Requests by the Multi-Day Job Request they relate to

Validations:

  • Must be a Integer

classification
optional

Filter Job Requests by their tax classification

Validations:

  • Must be one of: w2, 1099.

w2_hourly_rate
optional

Filter Job Requests by their W2 hourly rate

Validations:

  • Must be a Float

updated_before
optional

Filter Job Requests by those that were last updated before provided DateTime

Validations:

  • Must be a DateTime

updated_after
optional

Filter Job Requests by those that were last updated after provided DateTime

Validations:

  • Must be a DateTime


POST /api_v2/job_requests
Create a JobRequest

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_request
required

A Job Request

Validations:

  • Must be a Hash

job_request[state]
required

The Job Request’s status. See the Job Request resource documentation for details.

Validations:

  • Must be one of: unfilled, unassigned, posted, filled, in_progress, completed, approved, cancelled.

job_request[category]
required

The category of the work to be performed, e.g. ‘Customer Service’. Must be one of the pre-defined values defined for the API user’s Company.

Validations:

  • Must be a String

job_request[description]
required

A detailed description of the work to be performed. Required unless description_tasks is specified. If the below description_ fields are specified, description will automatically be populated with a concatenation of those fields.

Validations:

  • Must be a String

job_request[description_tasks]
required

A detailed description of the work to be performed. Required unless description is specified.

Validations:

  • Must be a String

job_request[description_company]
optional

A description of the company making this Job Request.

Validations:

  • Must be a String

job_request[description_travel]
optional

Travel tips for the Wonoloer in performing this Job Request.

Validations:

  • Must be a String

job_request[description_skills]
optional

Skills required to satisfy this Job Request. Multiple skills should be separated with the pipe character +|+

Validations:

  • Must be a String

job_request[description_contact]
optional

Who the Wonoloer should contact for any questions related to this Job Request.

Validations:

  • Must be a String

job_request[description_arrival]
optional

Any arrival instructions for the Wonoloer.

Validations:

  • Must be a String

job_request[slots]
required

The number of Wonoloers required.

Validations:

  • Must be a Integer

job_request[start_time]
optional

The time to start work in 24-hour format. Example: 2018-08-18 19:30

Validations:

  • Must be a DateTime

job_request[duration]
optional

The expected length of the Job in MINUTES.

Validations:

  • Must be a Integer

job_request[venue_name]
optional

The name of the work location, e.g. ‘Best Buy Store 321’

Validations:

  • Must be a String

job_request[address]
required

The street address of the work location, e.g. ‘123 Fremont St’

Validations:

  • Must be a String

job_request[city]
required

The city of the work location

Validations:

  • Must be a String

job_request[zip]
required

The zip of the work location

Validations:

  • Must be a String

job_request[employer_id]
optional

The ID of the Requestor (Employer) requesting the work

Validations:

  • Must be a Integer

job_request[wage]
optional

The wage to be paid.

Validations:

  • Must be a Float

job_request[request_name]
required

A Requestor-visible name for this Job Request (not visible to Wonoloer)

Validations:

  • Must be a String

job_request[preferred_candidate_ids]
optional

An array of Wonoloer IDs that are Preferred for this Job Request. Preferred Wonoloers are notified first and have a chance to accept before other ranked Wonoloers are notified.

Validations:

  • Must be an array of Integer

job_request[open_request]
optional

True if this Job Request should open up to any eligible Wonoloer once all Preferred Wonoloers have been notified and a configurable time has passed

Validations:

  • Must be one of: true, false, 1, 0.

job_request[multi_day]
optional

True if this Job Request is part of a multi-day Job Request

Validations:

  • Must be one of: true, false, 1, 0.

job_request[multi_day_job_request_id]
optional

The id of the multi-day Job Request if multi-day

Validations:

  • Must be a Integer

job_request[badge_requirements_attributes]
optional

Any Badges that are required to accept this Job Request

Validations:

  • Must be an Array of nested elements

job_request[badge_requirements_attributes][badge_id]
required

The ID of the Badge that is required

Validations:

  • Must be a Integer

job_request[notification_distance]
optional

The maximum distance in MILES for notifications for this Job Request. Wonoloers whose current location is more than this distance from the Job Request location will not be notified. Overrides any default setting at the Customer level or Company level.

Validations:

  • Must be a Integer

job_request[classification]
optional

The Job Request’s tax classification. Default is 1099.

Validations:

  • Must be one of: w2, 1099.

job_request[w2_hourly_rate]
optional

The hourly rate for W2 job requests — required with W2 classification

Validations:

  • Must be a Float

job_request[push_all_notifications_asap]
optional

Send all push notifications asap - use ‘on’ to set, ‘off’ to unset

Validations:

  • Must be a String

job_request[use_pending_state]
optional

Enable Pending Workflow for this Job Request

Validations:

  • Must be one of: true, false, 1, 0.


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

id
required

ID of the Job Request

Validations:

  • Must be a Integer

state
optional

Use ‘cancelled’ if you want cancel a job request.

Validations:

  • Must be a String

job_request
required

A Job Request

Validations:

  • Must be a Hash

job_request[state]
required

The Job Request’s status. See the Job Request resource documentation for details.

Validations:

  • Must be one of: unfilled, unassigned, posted, filled, in_progress, completed, approved, cancelled.

job_request[category]
required

The category of the work to be performed, e.g. ‘Customer Service’. Must be one of the pre-defined values defined for the API user’s Company.

Validations:

  • Must be a String

job_request[description]
required

A detailed description of the work to be performed. Required unless description_tasks is specified. If the below description_ fields are specified, description will automatically be populated with a concatenation of those fields.

Validations:

  • Must be a String

job_request[description_tasks]
required

A detailed description of the work to be performed. Required unless description is specified.

Validations:

  • Must be a String

job_request[description_company]
optional

A description of the company making this Job Request.

Validations:

  • Must be a String

job_request[description_travel]
optional

Travel tips for the Wonoloer in performing this Job Request.

Validations:

  • Must be a String

job_request[description_skills]
optional

Skills required to satisfy this Job Request. Multiple skills should be separated with the pipe character +|+

Validations:

  • Must be a String

job_request[description_contact]
optional

Who the Wonoloer should contact for any questions related to this Job Request.

Validations:

  • Must be a String

job_request[description_arrival]
optional

Any arrival instructions for the Wonoloer.

Validations:

  • Must be a String

job_request[slots]
required

The number of Wonoloers required.

Validations:

  • Must be a Integer

job_request[start_time]
optional

The time to start work in 24-hour format. Example: 2018-08-18 19:30

Validations:

  • Must be a DateTime

job_request[duration]
optional

The expected length of the Job in MINUTES.

Validations:

  • Must be a Integer

job_request[venue_name]
optional

The name of the work location, e.g. ‘Best Buy Store 321’

Validations:

  • Must be a String

job_request[address]
required

The street address of the work location, e.g. ‘123 Fremont St’

Validations:

  • Must be a String

job_request[city]
required

The city of the work location

Validations:

  • Must be a String

job_request[zip]
required

The zip of the work location

Validations:

  • Must be a String

job_request[employer_id]
optional

The ID of the Requestor (Employer) requesting the work

Validations:

  • Must be a Integer

job_request[wage]
optional

The wage to be paid.

Validations:

  • Must be a Float

job_request[request_name]
required

A Requestor-visible name for this Job Request (not visible to Wonoloer)

Validations:

  • Must be a String

job_request[preferred_candidate_ids]
optional

An array of Wonoloer IDs that are Preferred for this Job Request. Preferred Wonoloers are notified first and have a chance to accept before other ranked Wonoloers are notified.

Validations:

  • Must be an array of Integer

job_request[open_request]
optional

True if this Job Request should open up to any eligible Wonoloer once all Preferred Wonoloers have been notified and a configurable time has passed

Validations:

  • Must be one of: true, false, 1, 0.

job_request[multi_day]
optional

True if this Job Request is part of a multi-day Job Request

Validations:

  • Must be one of: true, false, 1, 0.

job_request[multi_day_job_request_id]
optional

The id of the multi-day Job Request if multi-day

Validations:

  • Must be a Integer

job_request[badge_requirements_attributes]
optional

Any Badges that are required to accept this Job Request

Validations:

  • Must be an Array of nested elements

job_request[badge_requirements_attributes][badge_id]
required

The ID of the Badge that is required

Validations:

  • Must be a Integer

job_request[notification_distance]
optional

The maximum distance in MILES for notifications for this Job Request. Wonoloers whose current location is more than this distance from the Job Request location will not be notified. Overrides any default setting at the Customer level or Company level.

Validations:

  • Must be a Integer

job_request[classification]
optional

The Job Request’s tax classification. Default is 1099.

Validations:

  • Must be one of: w2, 1099.

job_request[w2_hourly_rate]
optional

The hourly rate for W2 job requests — required with W2 classification

Validations:

  • Must be a Float

job_request[push_all_notifications_asap]
optional

Send all push notifications asap - use ‘on’ to set, ‘off’ to unset

Validations:

  • Must be a String


GET /api_v2/job_requests/:id
Get a specific JobRequest

Supported Formats

json

Params

Param name Description
token
required

Token obtained from /authorize

Validations:

  • Must be a String

id
required

ID of Job Request

Validations:

  • Must be a Integer


GET /api_v2/job_requests/:id/rankings
List the Wonoloers that are ranked for this JobRequest

Returns details of the Wonoloers that were ranked for this JobRequest, in ranked order.

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

id
required

ID of Job Request

Validations:

  • Must be a Integer


POST /api_v2/job_requests/:id/resend_notifications
Resend notifications for this JobRequest

If the JobRequest has Preferred Wonoloers, Preferred Notifications will first be resent to those Preferred Wonoloers who have not already accepted the JobRequest.

If the JobRequest does not have Preferred Wonoloers, the available Wonoloer pool will be re-ranked and Wonoloers notified in resulting ranked order.

NB: in both cases, the Wonoloers notified will not necessarily be - and are unlikely to be - exactly the same list as the prior time notifications were sent.


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

id
required

ID of Job Request

Validations:

  • Must be a Integer

push_all_notifications_asap
optional

Send all push notifications asap - use ‘on’ to set, ‘off’ to unset

Validations:

  • Must be a String


POST /api_v2/job_requests/:id/re_rank_workers
Re-rank workers for this JobRequest

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

id
required

ID of Job Request

Validations:

  • Must be a Integer