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 String

page
optional

The page number to start from

Validations:

  • Must be Integer

per
optional

The size of the page

Validations:

  • Must be Integer

type
optional

Filter Users by type - either 'Worker' or 'Employer'

Validations:

  • Must be String

email
optional

Filter Users by email

Validations:

  • Must be String

first_name
optional

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

Validations:

  • Must be String

last_name
optional

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

Validations:

  • Must be String

external_id
optional

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

Validations:

  • Must be String

onboarding_last_state
optional

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

Validations:

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

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 String

address_state
optional

Filter Users by address state - separate multiple states with commas

Validations:

  • Must be 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 DateTime

updated_after
optional

Filter Users by those that were last updated after provided DateTime

Validations:

  • Must be DateTime


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 String

user
required

Validations:

  • Must be a Hash

user[external_id]
optional

An arbitrary value to be associated with this User

Validations:

  • Must be String

user[type]
required

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

Validations:

  • Must be one of: Worker, Employer.

user[email]
required

User email - must be unique.

Validations:

  • Must be String

user[password]
required

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

Validations:

  • Must be String

user[password_confirmation]
required

Must be specified and match password, if specified.

Validations:

  • Must be String

user[first_name]
required

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

Validations:

  • Must be String

user[last_name]
required

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

Validations:

  • Must be String

user[avatar_url]
optional

Validations:

  • Must be String

user[city]
optional

Validations:

  • Must be String

user[zip]
optional

Validations:

  • Must be String

user[phone]
optional

Validations:

  • Must be String

user[suspended]
optional

True if the User is currently suspended

Validations:

  • Must be one of: true, false.

user[suspended_at]
optional

Validations:

  • Must be DateTime

user[rating]
optional

User's current rating (out of 5.0)

Validations:

  • Must be Float

user[onboarding_last_state]
optional

Worker's last onboarding state

Validations:

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

user[w2_onboarding_status]
optional

Worker's current W2 onboarding status

Validations:

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

user[w2_employee_id]
optional

Worker's unique employee ID for W2 classified jobs

Validations:

  • Must be String

user[address_state]
optional

Validations:

  • Must be String

user[drug_tested]
optional

Worker's drug test results

Validations:

  • Must be one of: passed, failed.

user[gender]
optional

User's gender

Validations:

  • Must be String

user[w2_onboarding_started]
optional

When the worker started W2 onboarding

Validations:

  • Must be DateTime

user[verified_phone]
optional

Validations:

  • Must be String

user[phone_verified_at]
optional

Validations:

  • Must be DateTime

user[agreed_to_terms]
optional

Validations:

  • Must be one of: true, false.

user[agreed_to_terms_date]
optional

Validations:

  • Must be DateTime

user[synced_worker_id]
required

the id of user on the external server for sync

Validations:

  • Must be Integer

user[user_badges_attributes]
optional

Badges that the User has

Validations:

  • Must be a Hash

user[user_badges_attributes][badge_id]
required

The ID of the Badge

Validations:

  • Must be Integer

user[user_badges_attributes][id]
optional

The ID of the current User-Badge association between this user and a badge - required for the '_destroy' function below

Validations:

  • Must be Integer

user[user_badges_attributes][_destroy]
optional

set to remove this User-Badge association on updating a User (PATCH)

Validations:

  • Must be one of: true.


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 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 String

user[last_name]
required

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

Validations:

  • Must be String

user[phone]
required

Validations:

  • Must be String

user[type]
required

The type of User - Worker = Wonoloer

Validations:

  • Must be one of: Worker.

user[email]
optional

Worker email

Validations:

  • Must be String

user[external_id]
optional

the id of user on the external server

Validations:

  • Must be 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 String

user
required

Validations:

  • Must be a Hash

user[id]
required

Unique ID of the User

Validations:

  • Must be Integer

user[external_id]
optional

An arbitrary value to be associated with this User

Validations:

  • Must be String

user[type]
required

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

Validations:

  • Must be one of: Worker, Employer.

user[email]
required

User email - must be unique.

Validations:

  • Must be String

user[password]
required

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

Validations:

  • Must be String

user[password_confirmation]
required

Must be specified and match password, if specified.

Validations:

  • Must be String

user[first_name]
required

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

Validations:

  • Must be String

user[last_name]
required

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

Validations:

  • Must be String

user[avatar_url]
optional

Validations:

  • Must be String

user[city]
optional

Validations:

  • Must be String

user[zip]
optional

Validations:

  • Must be String

user[phone]
optional

Validations:

  • Must be String

user[suspended]
optional

True if the User is currently suspended

Validations:

  • Must be one of: true, false.

user[suspended_at]
optional

Validations:

  • Must be DateTime

user[rating]
optional

User's current rating (out of 5.0)

Validations:

  • Must be Float

user[onboarding_last_state]
optional

Worker's last onboarding state

Validations:

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

user[w2_onboarding_status]
optional

Worker's current W2 onboarding status

Validations:

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

user[w2_employee_id]
optional

Worker's unique employee ID for W2 classified jobs

Validations:

  • Must be String

user[address_state]
optional

Validations:

  • Must be String

user[drug_tested]
optional

Worker's drug test results

Validations:

  • Must be one of: passed, failed.

user[gender]
optional

User's gender

Validations:

  • Must be String

user[w2_onboarding_started]
optional

When the worker started W2 onboarding

Validations:

  • Must be DateTime

user[verified_phone]
optional

Validations:

  • Must be String

user[phone_verified_at]
optional

Validations:

  • Must be DateTime

user[agreed_to_terms]
optional

Validations:

  • Must be one of: true, false.

user[agreed_to_terms_date]
optional

Validations:

  • Must be DateTime

user[synced_worker_id]
required

the id of user on the external server for sync

Validations:

  • Must be Integer

user[user_badges_attributes]
optional

Badges that the User has

Validations:

  • Must be a Hash

user[user_badges_attributes][badge_id]
required

The ID of the Badge

Validations:

  • Must be Integer

user[user_badges_attributes][id]
optional

The ID of the current User-Badge association between this user and a badge - required for the '_destroy' function below

Validations:

  • Must be Integer

user[user_badges_attributes][_destroy]
optional

set to remove this User-Badge association on updating a User (PATCH)

Validations:

  • Must be one of: true.


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 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 String


POST /api_v2/sync_auth_token
sync auth_token for external user

Sync auth token from Wonolo server to external server

Supported Formats

json

Params

Param name Description
token
required

Token obtained from /authorize

Validations:

  • Must be String

synced_worker_id
required

the id of user on the external server

Validations:

  • Must be Integer

auth_token
required

the auth token of user who need to be synced

Validations:

  • Must be String

created_at
required

the created time of user session token

Validations:

  • Must be String