Creates a new job/campaign with specified details. Requires multipart/form-data content type. Set approve_once_full to true to automatically approve all submissions and pay workers once the job reaches its total availabilities.
Content-Type:multipart/form-data
Omit to include all countries
default: false. When true, all submissions are automatically approved and workers paid once the job reaches its total availabilities
import requests
# Create a job without image
job_data = {
"title": "Complete a Survey",
"description": "Fill out our 5-minute customer satisfaction survey",
"pay_rate": "2.50",
"total_availabilities": "100",
"proof_required_description": "Submit a screenshot of the completion page",
"category": "Survey",
"sub_category": (None, "Customer Feedback"),
"countries": (None, '["US", "CA", "GB"]'), # Omit to include all countries
}
response = requests.post(
"https://api.rapidworkers.io/jobs/add",
headers={"X-API-Key": "your_api_key_here"},
files=job_data
)
job = response.json()
print(f"Job created: {job['job']['public_id']}")// 201 Created
{
"success": true,
"message": "Job created successfully",
"job": {
"public_id": "123e4567-e89b-12d3-a456-426614174000",
"title": "Test Job",
"status": "Active",
"pay_rate": "5.00",
"total_availabilities": 10
},
"deduction_details": {
"total_cost": "50.00",
"commission": "5.00",
"total_deducted": "55.00",
"new_balance": "945.00"
}
}400—Invalid data or insufficient balance
401—Invalid or missing API key
403—Job rejected by legitimacy check
