Authentication

Bearer Token Authentication

All API endpoints require authentication using a Bearer token. Include the following header in your requests:

Authorization: Bearer <your_access_token>

Jobs API

Manage job postings, retrieve applicants, and handle job-related operations.

POST /api/v2/jobs/applicants
Retrieve job applicants

Retrieves a list of job applicants for a specified job. Allows for sorting, pagination, and searching within job applicants.

Request Body Parameters

Parameter Type Required Description Example
job_id string Yes The ID of the job for which to retrieve applicants -
sortby string No Field by which to sort job applicants -
order string No Sort order. Can be 'asc' for ascending or 'desc' for descending asc
page integer No Page number for pagination 1
limit integer No Number of applicants per page 10
hours_ago integer No The day interval, specified as the number of days starting from the given hours_ago up to today 10
status string No The status of the task ('processing', 'confirmed', 'notcomplete', 'declined', 'pending') confirmed
search string No Search term to filter applicants based on worker name, job proof, job title, or worker IP developer

Responses

Status Code Description Response Body
200 Successfully retrieved job applicants Returns job details with applicant information including job tasks, total tasks, job done count, pending tasks, satisfied tasks, declined tasks, and failed tasks
400 Invalid request data Error message describing validation error
404 Job not found or no applicants found Error message indicating job or applicants not found
PUT /api/v2/jobs/applicants
Update job applicants' task statuses

Updates the status of specified job tasks. It supports changing the status, adding comments, and handles referral bonuses if the task is confirmed.

Request Body Parameters

Parameter Type Required Description Example
JobTasks_Ids array Yes An array of job task IDs to be updated ["60d21b4667d0d8992e610c85", "60d21b4667d0d8992e610c86"]
status string Yes The new status to set for the job tasks confirmed
job_id string Yes The ID of the job to which the tasks belong 60d21b4667d0d8992e610c85
comment string No Optional comment to add regarding the task update Task successfully completed.

Responses

Status Code Description
204 Successfully updated job task statuses. No content is returned.
400 Bad request. Invalid input data or invalid status provided.
404 Job or job tasks not found.
POST /api/v2/jobs/check-uniquenes
Check for uniqueness of job proofs

This endpoint checks if a given search term exists in the job proofs. You can specify the search option to look for exact words or substrings.

Request Body Parameters

Parameter Type Required Description Example
search string Yes The term to search for in job proofs developer
option string No The search option to use. Can be "word" for exact word matching or "charactor" for substring matching word

Responses

Status Code Description Response Body
200 Successfully checked for uniqueness Returns a boolean indicating if the search term is unique
400 Bad request. Either the search term is missing, or an invalid search option is provided Error message describing the validation error
GET /api/v2/jobs/details
Get job details by ID

Returns job details for a specific job ID.

Query Parameters

Parameter Type Required Description Example
job_id string No Unique identifier for the job 68910c4a5e1c7092a1fdc03a

Response Fields

Returns comprehensive job information including job details, employer information, task counts, and file requirements.

{
  "_id": "68910c4a5e1c7092a1fdc03a",
  "job_id": "68910c4a5e1c7092a1fdc03a",
  "job_type": "job",
  "payment_type": "action",
  "title": "Create a Google account",
  "category": ["Google"],
  "description": "Create a Google account. ...",
  "proof": "Google account email. ...",
  "Target_Workers": ["worldwide"],
  "few_times": true,
  "premium": false,
  "featured": false,
  "duration": "3",
  "positions": "3",
  "job_price": 0.06,
  "price": "0.30",
  "status": "active",
  "files": [...],
  "added": "2025-08-04T19:38:50.204Z",
  "user": {...},
  "totla_tasks_count": 1,
  "tasks_done_count": 0,
  "tasks_confirmed_count": 0,
  "tasks_running_count": 0,
  "tasks_pending_count": 0
}
POST /api/v2/jobs/myjobs
Retrieve a list of jobs that you have posted

This endpoint allows a user to retrieve a paginated list of jobs associated with their account. The results can be filtered and sorted based on various parameters.

Request Body Parameters

Parameter Type Required Description Default
page integer No Page number for pagination 1
limit integer No Number of items per page 10
job_id string No Filter jobs by a specific job ID -
status string No Filter jobs by status (e.g., 'active', 'completed') -
orientation string No The orientation for the data sorting (e.g., 'asc' or 'desc') asc
Query string No Search query for job title or description -
SortBY string No Field to sort the results by -
POST /api/v2/jobs/submit
Create a new job posting

This endpoint allows users to create a new job posting. It requires specific details about the job, including title, description, category, number of positions, job price, and duration.

Request Body Parameters

Parameter Type Required Description Example
title string Yes The title of the job posting Software Developer
category string Yes Category of the job Engineering
description string Yes Detailed description of the job We are looking for a skilled software developer...
proof string Yes Proof or evidence related to the job posting Sample proof text.
is_proof_file boolean No Indicates if the proof is a file or text false
auto_rate boolean No Whether the job should be automatically rated true
vcode string No Verification code for the job posting cdcdc
Target_Workers array No List of target workers or countries ["worldwide"]
few_times boolean No Indicates if the job can be posted a few times false
premium boolean No Indicates if the job is premium false
featured boolean No Whether the job is featured or not false
duration integer Yes Duration for which the job is posted (in days) 60
positions integer Yes Number of available positions for the job 3
daily_limit integer No Daily limit for the job posting 0
job_price number Yes Price for posting the job 100

Responses

Status Code Description Response Body
201 Job created successfully Success message indicating job creation
400 Bad request. Invalid or missing required fields List of validation error messages
PUT /api/v2/jobs/update-status
Update job status

Updates the status of a specific job.

Request Body Parameters

Parameter Type Required Description Example
job_id string Yes The ID of the job 60c72b2f9b1e8c001c8e4d8a
status string Yes New status for the job (active, inactive) active

Responses

Status Code Description
204 Job status updated successfully
400 Invalid request body or status
401 Unauthorized action
404 Job not found or invalid job_id

Tasks API

Manage job tasks, apply for tasks, and submit task completions.

GET /api/v2/tasks/apply
Apply for task submission to a job

This API must be called before tasks/submit API for jobs that have job variables. This endpoint allows workers to apply to an active job. Job variables (if any) will be returned.

Query Parameters

Parameter Type Required Description Example
job_id string Yes Unique identifier for the job 68868530c189957861cd698a

Response

Returns job variables that should be passed when calling the tasks/submit API.

{
  "_id": "68910c4a5e1c7092a1fdc03c",
  "var1": "Custom variable value 1",
  "var2": "Custom variable value 2"
}
POST /api/v2/tasks/details
Get recent tasks or details of a specific job task

Returns the list of recent tasks of the user. If task_id query param is provided, it will return details of a single task.

Query Parameters

Parameter Type Required Description Example
task_id string No The ID of the job task to fetch details for 686f668db9c27eea026e60c7

Request Body Parameters

Parameter Type Required Description Example
page integer No Page number for pagination (starts from 1) 1
limit integer No Number of tasks to return per page 10

Response

Returns either details of a single task or a list of recent tasks with summary counts.

{
  "_id": "686f668db9c27eea026e60c7",
  "job_task_id": "686f668db9c27eea026e60c7",
  "worker_id": "676d3525e618d4ad99dae7ff",
  "job_id": "686f44cf8abf68ace53ebc8f",
  "job_title": "Create a Google account",
  "job_price": 0.06,
  "job_proof": "",
  "comment": "",
  "country_code": "IN",
  "worker_ip": "192.168.249.223",
  "status": "confirmed",
  "failureReason": null,
  "reviewed": null,
  "device_owner_share": null,
  "added": "2025-07-10T07:06:53.631Z",
  "updated": "2025-07-10T07:06:53.631Z",
  "proof_files_info": []
}
POST /api/v2/tasks/submit
Submit a task to a job

This endpoint allows workers to submit a task to an active job.

Request Body Parameters

Parameter Type Required Description Example
job_id string Yes ID of the job 68868530c189957861cd698a
job_proof string Yes Proof of the task done irjfoirf@gmail.com:iejowiedj:ehiuehwd@outlook.com:wuehuidhewd
custom_vars object No Custom vars obtained from tasks/apply. Required for jobs with variables {"_id": "68910c4a5e1c7092a1fdc03c", "var1": "value1"}
proof_files_base64 array No Array of required and optional proof files in base64 format [{"fieldName": "screenshot", "fileName": "image.jpg", "base64": "..."}]

Responses

Status Code Description Response Body
201 Job task submitted successfully Success message indicating task submission, job task id and job id
404 Job not found Error message indicating job not found

Payments API

Handle payment operations including withdrawals.

POST /api/v2/payments/withdraw
Withdraw user balance

Initiate a withdrawal to a wallet address.

Request Body Parameters

Parameter Type Required Description Example
amount number Yes Amount to withdraw 10
wallet_address string Yes Wallet address to receive the withdrawal 0x1234567890abcdef

Responses

Status Code Description Response Body
200 Withdrawal successful {"msg": "withdraw done"}
400 Insufficient balance, below minimum payout, or invalid request Error message with specific reason
401 Unauthorized or missing token -
500 Server error -
GET /api/v2/payments/withdrawals
Get recent withdrawal details

Returns the list & details of recent withdrawals made by the user.

Query Parameters

Parameter Type Required Description Example
page integer No Page number for pagination (starts from 1) 1
limit integer No Number of withdrawals to return per page 10

Header Parameters

Parameter Type Required Description Example
Authorization string No Bearer token for user authentication Bearer YOUR_ACCESS_TOKEN

Responses

Status Code Description Response Body
200 Details of the withdrawals made by the user
{
  "total_count": 3,
  "transactions": [
    {
      "_id": "67d9f0b57131be1625d301c4",
      "reference_id": "26795145",
      "user_id": "676d3619e618d4ad99dae899",
      "recipient_id": null,
      "crypto_uuid": null,
      "payment_type": "Withdrawal",
      "payment_method": "cryptomus",
      "payment_details": "",
      "transaction_fee": "0",
      "currency": "USD",
      "amount": "-10",
      "wallet_address": "2w",
      "status": "paid",
      "reason": null,
      "created": "2025-03-18T22:16:21.895Z",
      "updated": "2025-03-18T22:16:21.895Z",
      "process_date": "2025-03-18T22:16:21.895Z",
      "transaction_id": "67d9f0b57131be1625d301c4",
      "__v": 0
    }
    // ...more transactions
  ],
  "page": 1,
  "balance": 3.54,
  "total_withdraw": -30,
  "total_deposit": 0
}
401 Unauthorized or missing token -
404 No transactions found -
500 Server error -

User API

User account management and balance information.

GET /api/v2/user/balance
Get user balance

Returns the user's current balance and active balance.

Response

Field Type Description Example
balance number User's total balance 4.434
active_balance number User's active (available) balance 4.434

Example Response

{
  "balance": 4.434,
  "active_balance": 4.434
}

Response Status Codes

Status Code Description
200 User balance information retrieved successfully
401 Unauthorized or missing token
500 Server error

Devices API

Device management and information retrieval endpoints.

GET /api/v2/devices
Get debuggable devices

Retrieves a list of devices that are either owned by the user or rented with live payment type.

Response

Field Type Description Example
remote_device_id string Unique identifier for the device device_123456
added string (date-time) When the device was added 2025-08-19T10:00:00Z
automations array List of automations on the device []
brand string Device brand name Samsung
country string Country where the device is located US
isEmulator boolean Whether the device is an emulator false
model string Device model name Galaxy S21
name string Device name Galaxy S21 Ultra
networkType string Type of network connection (wifi/mobile/unknown) wifi
numberOfCores number Number of CPU cores 8
online boolean Device online status true
processor string Device processor information Snapdragon 888
ramMb number RAM in megabytes 8192
sdkVersion string Android SDK version 31
version string Android version 12

Example Response

[
  {
    "remote_device_id": "device_123456",
    "added": "2025-08-19T10:00:00Z",
    "automations": [],
    "brand": "Samsung",
    "country": "US",
    "isEmulator": false,
    "model": "Galaxy S21",
    "name": "Galaxy S21 Ultra",
    "networkType": "wifi",
    "numberOfCores": 8,
    "online": true,
    "processor": "Snapdragon 888",
    "ramMb": 8192,
    "sdkVersion": "31",
    "version": "12"
  }
]

Response Status Codes

Status Code Description
200 Successfully retrieved devices list
401 Unauthorized or missing token
500 Server error
POST /api/v2/devices/launchAutomation
Launch device automation

Submits a device automation request and launches automation on the specified device.

Request Body Parameters

Parameter Type Required Description Example
device_id string Yes The ID of the device to run automation on device_123456
command string Yes Command to execute (start or stop) start
code string Yes Automation code to execute on the device console.log('hello')

Example Request

{
  "device_id": "device_123456",
  "command": "start",
  "code": "console.log('hello')"
}

Responses

Status Code Description Response Body
200 Automation launched successfully
{
  "automationId": "abc123",
  "result": true
}
400 Bad request or invalid parameters Error message describing the validation error
401 Unauthorized or missing token Authentication error message