A User can be either a Requestor (type: Employer) or a Wonoloer (type: Worker).

Priviledge Level

If you have Public Pool access, you will only be able to access Wonoloers with whom you have “active” Jobs. Active jobs are those Jobs which:

  • are in a state of filled, in_progress, paused, completed, or

  • are in a state of approved and were approved in the past 24 hours.

Supported Formats

json

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

Supported Formats

json

Errors

Code Description
401 Unauthorized - you did not pass a valid token

Examples

curl -v -d "token=HdgXqxYWd5tTdyabzfzo" https://api.wonolo.com/api_v2/users
curl -v -d "token=HdgXqxYWd5tTdyabzfzo" https://api.wonolo.com/api_v2/users?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

type
optional

Filter Users by type - either ‘Worker’ or ‘Employer’

Validations:

  • Must be a String

email
optional

Filter Users by email

Validations:

  • Must be a String

first_name
optional

Filter Users by first name - should contain only letters, numbers, dash (-) and period (.) character

Validations:

  • Must be a String

last_name
optional

Filter Users by last name - should contain only letters, numbers, dash (-) and period (.) character

Validations:

  • Must be a String

external_id
optional

Filter Users by external id(s) - separate multiple external ids with commas

Validations:

  • Must be a String

onboarding_last_state
optional

Filter Users by onboarding state(s) - separate multiple states with commas

Validations:

  • Must be one of: not_started, started, take_quiz, take_background_check, schedule_call, call, pending_background_check, complete, rejected, error, invited.

w2_onboarding_status
optional

Filter users by W2 onboarding states(s) - separate multiple states with commas

Validations:

  • Must be one of: not_started, started, pending, completed, queued.

w2_employee_id
optional

Filter Users by their W2 employee ID

Validations:

  • Must be a String

address_state
optional

Filter Users by address state - separate multiple states with commas

Validations:

  • Must be a String

drug_tested
optional

Filter Users by drug test results - separate multiple states with commas

Validations:

  • Must be one of: passed, failed.

updated_before
optional

Filter Users by those that were last updated before provided DateTime

Validations:

  • Must be a DateTime

updated_after
optional

Filter Users by those that were last updated after provided DateTime

Validations:

  • Must be a DateTime

customer_id
optional

Filter Employers by Customer ID

Validations:

  • Must be a Integer


POST /api_v2/users
Create a user

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

user
required

Validations:

  • Must be a Hash

user[type]
required

The type of User - Worker = Wonoloer, Employer = Requestor

Validations:

  • Must be one of: Worker, Employer.

user[gender]
optional

User’s gender

Validations:

  • Must be a String

user[email]
required

User email - must be unique.

Validations:

  • Must be a String

user[password]
required

Password. Minimum 8 characters. Must be specified on creation.

Validations:

  • Must be a String

user[password_confirmation]
required

Must be specified and match password, if specified.

Validations:

  • Must be a String

user[first_name]
required

User first name - should contain only letters, numbers, dash (-) and period (.) character

Validations:

  • Must be a String

user[last_name]
required

User last name - should contain only letters, numbers, dash (-) and period (.) character

Validations:

  • Must be a String

user[avatar_url]
optional

Validations:

  • Must be a String

user[address]
optional

Validations:

  • Must be a String

user[city]
optional

Validations:

  • Must be a String

user[address_state]
optional

Validations:

  • Must be a String

user[zip]
optional

Validations:

  • Must be a String

user[phone]
optional

Validations:

  • Must be a String

user[suspended]
optional

True if the User is currently suspended

Validations:

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

user[suspended_at]
optional

Validations:

  • Must be a DateTime

user[rating]
optional

User’s current rating (out of 5.0)

Validations:

  • Must be a Float

user[agreed_to_terms]
optional

True if the User has agreed to terms

Validations:

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

user[agreed_to_terms_date]
optional

Validations:

  • Must be a DateTime

user[external_id]
optional

An arbitrary value to be associated with this Worker. This attribute is used for Workers only.

Validations:

  • Must be a String

user[onboarding_last_state]
optional

Worker’s last onboarding state. This attribute is used for Workers only.

Validations:

  • Must be one of: not_started, started, take_quiz, take_background_check, schedule_call, call, pending_background_check, complete, rejected, error, invited.

user[w2_employee_id]
optional

Worker’s unique employee ID for W2 classified jobs. This attribute is used for Workers only.

Validations:

  • Must be a String

user[drug_tested]
optional

Worker’s drug test results. This attribute is used for Workers only.

Validations:

  • Must be one of: passed, failed.

user[verified_phone]
optional

Worker’s verified phone. This attribute is used for Workers only.

Validations:

  • Must be a String

user[phone_verified_at]
optional

This attribute is used for Workers only.

Validations:

  • Must be a DateTime

user[user_badges_attributes]
optional

Badges that the Worker has. This attribute is used for Workers only.

Validations:

  • Must be a Hash

user[user_badges_attributes][badge_id]
required

The ID of the Badge. This attribute is used for Workers only.

Validations:

  • Must be a Integer

user[user_badges_attributes][id]
optional

The ID of the current User-Badge association between this Worker and a badge - required for the ‘_destroy’ function below. This attribute is used for Workers only.

Validations:

  • Must be a Integer

user[user_badges_attributes][_destroy]
optional

Set to remove this User-Badge association on updating a Worker (PATCH). This attribute is used for Workers only.

Validations:

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

user[title]
optional

Employer’s title. This attribute is used for Employers only.

Validations:

  • Must be a String

user[role]
required

Employer’s role. This attribute is used for Employers only.

Validations:

  • Must be one of: customer_admin, requestor, read_only.

user[customer_id]
required

Employer’s customer ID. This attribute is used for Employers only.

Validations:

  • Must be a Integer


POST /api_v2/users/invite
Invite worker into our system

Supported Formats

json

Params

Param name Description
token
required

Token obtained from /authorize

Validations:

  • Must be a String

user
required

Validations:

  • Must be a Hash

user[first_name]
required

Worker first name - should contain only letters, numbers, dash (-) and period (.) character

Validations:

  • Must be a String

user[last_name]
required

Worker last name - should contain only letters, numbers, dash (-) and period (.) character

Validations:

  • Must be a String

user[phone]
required

Validations:

  • Must be a String

user[type]
required

The type of User - Worker = Wonoloer

Validations:

  • Must be one of: Worker.

user[email]
optional

Worker email

Validations:

  • Must be a String

user[external_id]
optional

the id of user on the external server

Validations:

  • Must be a Integer


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

user
required

Validations:

  • Must be a Hash

user[id]
required

Unique ID of the User

Validations:

  • Must be a Integer

user[type]
required

The type of User - Worker = Wonoloer, Employer = Requestor

Validations:

  • Must be one of: Worker, Employer.

user[gender]
optional

User’s gender

Validations:

  • Must be a String

user[email]
required

User email - must be unique.

Validations:

  • Must be a String

user[password]
required

Password. Minimum 8 characters. Must be specified on creation.

Validations:

  • Must be a String

user[password_confirmation]
required

Must be specified and match password, if specified.

Validations:

  • Must be a String

user[first_name]
required

User first name - should contain only letters, numbers, dash (-) and period (.) character

Validations:

  • Must be a String

user[last_name]
required

User last name - should contain only letters, numbers, dash (-) and period (.) character

Validations:

  • Must be a String

user[avatar_url]
optional

Validations:

  • Must be a String

user[address]
optional

Validations:

  • Must be a String

user[city]
optional

Validations:

  • Must be a String

user[address_state]
optional

Validations:

  • Must be a String

user[zip]
optional

Validations:

  • Must be a String

user[phone]
optional

Validations:

  • Must be a String

user[suspended]
optional

True if the User is currently suspended

Validations:

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

user[suspended_at]
optional

Validations:

  • Must be a DateTime

user[rating]
optional

User’s current rating (out of 5.0)

Validations:

  • Must be a Float

user[agreed_to_terms]
optional

True if the User has agreed to terms

Validations:

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

user[agreed_to_terms_date]
optional

Validations:

  • Must be a DateTime

user[external_id]
optional

An arbitrary value to be associated with this Worker. This attribute is used for Workers only.

Validations:

  • Must be a String

user[onboarding_last_state]
optional

Worker’s last onboarding state. This attribute is used for Workers only.

Validations:

  • Must be one of: not_started, started, take_quiz, take_background_check, schedule_call, call, pending_background_check, complete, rejected, error, invited.

user[w2_employee_id]
optional

Worker’s unique employee ID for W2 classified jobs. This attribute is used for Workers only.

Validations:

  • Must be a String

user[drug_tested]
optional

Worker’s drug test results. This attribute is used for Workers only.

Validations:

  • Must be one of: passed, failed.

user[verified_phone]
optional

Worker’s verified phone. This attribute is used for Workers only.

Validations:

  • Must be a String

user[phone_verified_at]
optional

This attribute is used for Workers only.

Validations:

  • Must be a DateTime

user[user_badges_attributes]
optional

Badges that the Worker has. This attribute is used for Workers only.

Validations:

  • Must be a Hash

user[user_badges_attributes][badge_id]
required

The ID of the Badge. This attribute is used for Workers only.

Validations:

  • Must be a Integer

user[user_badges_attributes][id]
optional

The ID of the current User-Badge association between this Worker and a badge - required for the ‘_destroy’ function below. This attribute is used for Workers only.

Validations:

  • Must be a Integer

user[user_badges_attributes][_destroy]
optional

Set to remove this User-Badge association on updating a Worker (PATCH). This attribute is used for Workers only.

Validations:

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

user[title]
optional

Employer’s title. This attribute is used for Employers only.

Validations:

  • Must be a String

user[role]
required

Employer’s role. This attribute is used for Employers only.

Validations:

  • Must be one of: customer_admin, requestor, read_only.

user[customer_id]
required

Employer’s customer ID. This attribute is used for Employers only.

Validations:

  • Must be a Integer


GET /api_v2/users/:id
Get a specific user

Supported Formats

json

Errors

Code Description
401 Unauthorized
404 Not found. No User with the specified ID can be found

Params

Param name Description
token
required

Token obtained from /authorize

Validations:

  • Must be a String


GET /api_v2/users/:id/tracking
Get tracking data for a specific user

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