Gestión de API
Crea y gestiona claves API para acceso programático a tu cuenta
Documentación de API
Cabecera de Autenticación
Incluye tu clave API en cada solicitud usando la cabecera X-API-Key:
X-API-Key: your_api_key_here
Endpoints
Endpoints Estándar
/jobs/add
Crea un nuevo trabajo/campaña con detalles especificados. Requiere tipo de contenido multipart/form-data. Establece approve_once_full en true para aprobar automáticamente todas las presentaciones y pagar a los trabajadores una vez que el trabajo alcance su total de disponibilidades.
Solicitud
Content-Type: multipart/form-data title: string (required) description: string (required) pay_rate: decimal (required) total_availabilities: integer (required) proof_required_description: string (required) category: string (required) sub_category: string (optional) campaign_image: file (optional) countries: array (optional. Omit to include all countries) approve_once_full: boolean (optional, default: false. When true, all submissions are automatically approved and workers paid once the job reaches its total availabilities)
Respuesta
// 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"
}
}Respuestas de Error
- 400 — Invalid data or insufficient balance
- 401 — Invalid or missing API key
- 403 — Job rejected by legitimacy check
Ejemplo de Código
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']}")/account/get_balance
Recupera el saldo actual de tu cuenta.
Solicitud
Content-Type: application/json
{} // Empty bodyRespuesta
// 200 OK
{
"balance": "1000.00"
}Respuestas de Error
- 401 — Invalid or missing API key
- 404 — User not found
Ejemplo de Código
import requests
response = requests.post(
"https://api.rapidworkers.io/account/get_balance",
headers={"X-API-Key": "your_api_key_here"}
)
print(f"Balance: {response.json()['balance']}")/api/campaigns/{campaign_id}/submissions/{submission_id}/approve/
Aprueba el envío de un trabajador para tu campaña.
Parámetros de Ruta
campaign_id (UUID) submission_id (integer)
Solicitud
Content-Type: application/json
{
"notes": "Great work!" // Optional
}Respuesta
// 200 OK
{
"success": true,
"message": "Submission approved successfully",
"submission": {
"id": 123,
"user": "worker_username",
"status": "Approved",
"amount_paid": "5.00"
}
}Respuestas de Error
- 400 — Submission already processed or insufficient funds
- 403 — You don't own this campaign
- 404 — Submission not found
Ejemplo de Código
import requests
campaign_id = "your_campaign_public_id"
submission_id = 456
response = requests.post(
f"https://api.rapidworkers.io/api/campaigns/{campaign_id}/submissions/{submission_id}/approve/",
headers={"X-API-Key": "your_api_key_here"},
json={"notes": "Great work!"}
)
print(f"Submission approved: {response.json()}")/api/campaigns/{campaign_id}/submissions/{submission_id}/reject/
Rechaza el envío de un trabajador con una razón.
Parámetros de Ruta
campaign_id (UUID) submission_id (integer)
Solicitud
Content-Type: application/json
{
"notes": "Does not meet requirements" // Required
}Respuesta
// 200 OK
{
"success": true,
"message": "Submission rejected",
"submission": {
"id": 123,
"user": "worker_username",
"status": "Rejected",
"notes": "Does not meet requirements"
}
}Respuestas de Error
- 400 — Missing rejection reason
- 403 — You don't own this campaign
- 404 — Submission not found
Ejemplo de Código
import requests
campaign_id = "your_campaign_public_id"
submission_id = 456
response = requests.post(
f"https://api.rapidworkers.io/api/campaigns/{campaign_id}/submissions/{submission_id}/reject/",
headers={"X-API-Key": "your_api_key_here"},
json={"notes": "Screenshot does not show completion page"}
)
print(f"Submission rejected: {response.json()}")/api/campaigns/{campaign_id}/submissions/bulk_action/
Aprueba todos los envíos pendientes de una campaña a la vez.
Parámetros de Ruta
campaign_id (UUID)
Solicitud
Content-Type: application/json
{
"notes": "Bulk action notes" // Optional
}Respuesta
// 200 OK
{
"success": true,
"message": "All submissions approved successfully.",
"submissions": [
{ "id": 123, "status": "Approved", "user": "worker1" },
{ "id": 124, "status": "Approved", "user": "worker2" }
]
}Respuestas de Error
- 403 — You don't own this campaign
- 404 — No pending submissions found
Ejemplo de Código
import requests
campaign_id = "your_campaign_public_id"
# Bulk approve all pending
response = requests.post(
f"https://api.rapidworkers.io/api/campaigns/{campaign_id}/submissions/bulk_action/",
headers={"X-API-Key": "your_api_key_here"},
json={"notes": "All submissions verified"}
)
print(f"Bulk action result: {response.json()}")/api/campaigns/
Recupera todas las campañas del usuario autenticado, con filtrado opcional por estado.
Solicitud
Query Parameters (optional):
status: string ("Active", "Pending", "Completed", "Canceled")
language: string (default: "en")Respuesta
// 200 OK
[
{
"jobId": "123e4567-e89b-12d3-a456-426614174000",
"jobTitle": "Complete a Survey",
"jobCategory": "Survey",
"jobPay": "2.50",
"jobLocation": "In",
"jobCreatedAt": "2025-01-15T10:30:00Z",
"jobStatus": "Active",
"jobInstancesCompleted": 45,
"jobTotalAvailabilities": 100,
"jobSuccessRate": "40%",
"description": "Fill out our customer satisfaction survey",
"canceled": false,
"remainingAvailabilities": 55,
"pendingSubmissions": 12,
"approvedSubmissions": 40,
"rejectedSubmissions": 5
}
]
Respuestas de Error
- 401 — Invalid or missing API key
Ejemplo de Código
import requests
# List all campaigns
response = requests.get(
"https://api.rapidworkers.io/api/campaigns/",
headers={"X-API-Key": "your_api_key_here"}
)
campaigns = response.json()
for campaign in campaigns["results"]:
print(f"{campaign['jobTitle']} - {campaign['jobStatus']}")
# Filter by status
response = requests.get(
"https://api.rapidworkers.io/api/campaigns/?status=Active",
headers={"X-API-Key": "your_api_key_here"}
)/api/campaigns/detail/{campaign_id}/
Recupera información detallada sobre una campaña específica incluyendo conteos de envíos y disponibilidad restante.
Parámetros de Ruta
campaign_id (UUID)
Solicitud
Query Parameters (optional): language: string (default: "en")
Respuesta
// 200 OK
{
"jobId": "123e4567-e89b-12d3-a456-426614174000",
"jobTitle": "Complete a Survey",
"jobCategory": "Survey",
"jobPay": "2.50",
"jobLocation": "In",
"jobCreatedAt": "2025-01-15T10:30:00Z",
"jobStatus": "Active",
"jobInstancesCompleted": 45,
"jobTotalAvailabilities": 100,
"jobSuccessRate": "40%",
"description": "Fill out our customer satisfaction survey",
"canceled": false,
"remainingAvailabilities": 55,
"pendingSubmissions": 12,
"approvedSubmissions": 40,
"rejectedSubmissions": 5
}Respuestas de Error
- 401 — Invalid or missing API key
- 403 — You don't own this campaign
- 404 — Campaign not found
Ejemplo de Código
import requests
campaign_id = "123e4567-e89b-12d3-a456-426614174000"
response = requests.get(
f"https://api.rapidworkers.io/api/campaigns/detail/{campaign_id}/",
headers={"X-API-Key": "your_api_key_here"}
)
campaign = response.json()
print(f"Remaining slots: {campaign['remaining_availabilities']}")
print(f"Pending: {campaign['pending_submissions']}")/api/campaigns/{campaign_id}/submissions/
Recupera todos los envíos de una campaña específica con metadatos del trabajador, filtrado opcional por estado y paginación.
Parámetros de Ruta
campaign_id (UUID)
Solicitud
Query Parameters (optional):
status: string ("Pending", "Approved", "Rejected")
search: string (search by worker name)
page: integer (default: 1)
rowsPerPage: integer (default: 1000)
language: string (default: "en")Respuesta
// 200 OK
{
"count": 45,
"next": null,
"previous": null,
"results": {
"submissions": [
{
"submissionId": 123,
"userId": "abc-def-123",
"userName": "WorkerName",
"userAvatar": "https://...",
"campaignId": "123e4567-e89b-12d3-a456-426614174000",
"campaignTitle": "Complete a Survey",
"status": "Pending",
"country_name": "United States",
"submittedAt": "2025-01-16T14:30:00Z",
"proof_text": "Completed the survey as requested",
"images": [
{
"id": "img_1",
"url": "https://...",
"thumbnailUrl": "https://..."
}
],
"notes": null,
"workerAccountAgeDays": 120,
"workerApprovalRate": "85%",
"workerTotalCompleted": 47
}
],
"pagination": {
"totalCount": 45,
"pageCount": 1,
"currentPage": 1,
"rowsPerPage": 1000
}
}
}Respuestas de Error
- 401 — Invalid or missing API key
- 403 — You don't own this campaign
- 404 — Campaign not found
Ejemplo de Código
import requests
campaign_id = "123e4567-e89b-12d3-a456-426614174000"
# List all submissions
response = requests.get(
f"https://api.rapidworkers.io/api/campaigns/{campaign_id}/submissions/",
headers={"X-API-Key": "your_api_key_here"}
)
data = response.json()
for sub in data["results"]["submissions"]:
print(f"#{sub['submissionId']} - {sub['status']} - Age: {sub['worker_account_age_days']}d")
# Filter pending only
response = requests.get(
f"https://api.rapidworkers.io/api/campaigns/{campaign_id}/submissions/?status=Pending",
headers={"X-API-Key": "your_api_key_here"}
)/api/workers/block/
Bloquea a un trabajador para que no pueda enviar pruebas a ninguna de tus campañas. Los trabajadores bloqueados no verán tus campañas en su lista de trabajos.
Solicitud
Content-Type: application/json
{
"worker_id": 12345 // Worker public ID
}Respuesta
// 201 Created
{
"success": true,
"message": "Worker blocked successfully",
"worker_id": 12345
}Respuestas de Error
- 400 — Missing worker_id, self-block attempt, or worker already blocked
- 401 — Invalid or missing API key
- 404 — Worker not found
Ejemplo de Código
import requests
worker_id = 12345
response = requests.post(
"https://api.rapidworkers.io/api/workers/block/",
headers={"X-API-Key": "your_api_key_here", "Content-Type": "application/json"},
json={"worker_id": worker_id}
)
print(f"Worker blocked: {response.json()}")/api/workers/unblock/
Desbloquea a un trabajador previamente bloqueado, permitiéndole ver y enviar pruebas a tus campañas nuevamente.
Solicitud
Content-Type: application/json
{
"worker_id": 12345
}Respuesta
// 200 OK
{
"success": true,
"message": "Worker unblocked successfully",
"worker_id": 12345
}Respuestas de Error
- 400 — Missing worker_id or worker is not blocked
- 401 — Invalid or missing API key
- 404 — Worker not found
Ejemplo de Código
import requests
worker_id = 12345
response = requests.post(
"https://api.rapidworkers.io/api/workers/unblock/",
headers={"X-API-Key": "your_api_key_here", "Content-Type": "application/json"},
json={"worker_id": worker_id}
)
print(f"Worker unblocked: {response.json()}")/api/workers/blocked/
Recupera la lista de todos los trabajadores que has bloqueado.
Solicitud
No request body required.
Respuesta
// 200 OK
[
{
"worker_id": 12345,
"worker_name": "WorkerName",
"blocked_at": "2025-01-15T10:30:00Z"
}
]Respuestas de Error
- 401 — Invalid or missing API key
Ejemplo de Código
import requests
response = requests.get(
"https://api.rapidworkers.io/api/workers/blocked/",
headers={"X-API-Key": "your_api_key_here"}
)
blocked = response.json()
for worker in blocked:
print(f"Blocked: {worker['worker_name']} (ID: {worker['worker_id']})")Endpoints de Trabajos Predefinidos
Endpoints simplificados para tareas comunes de participación en redes sociales. Solo requiere un enlace y cantidad. Todos los trabajos preconfigurados tienen aprobación automática habilitada: las presentaciones se aprueban automáticamente y los trabajadores reciben el pago una vez que el trabajo alcanza su total de disponibilidades.
/api/jobs/facebook-likes/
Crea un trabajo simplificado para obtener me gusta en publicaciones de Facebook. Solo requiere un enlace y cantidad. Precio automático: $0.05 por trabajo. Las presentaciones se aprueban automáticamente una vez que el trabajo está lleno.
Solicitud
Content-Type: application/json
{
"link": "https://facebook.com/post/123", // Required
"quantity": 50, // Required (minimum: 6)
"countries": ["US", "GB"], // Omit to include all countries
"language": "en", // Optional
"approve_once_full": true // Optional (default: true). Auto-approve all submissions once job is full
}Respuesta
// 201 Created
{
"success": true,
"message": "Job created successfully",
"job_id": "123e4567-e89b-12d3-a456-426614174000",
"total_cost": "2.50"
}Respuestas de Error
- 400 — Invalid data, insufficient balance, or quantity below minimum (6)
- 401 — Invalid or missing API key
Ejemplo de Código
import requests
response = requests.post(
"https://api.rapidworkers.io/api/jobs/facebook-likes/",
headers={"X-API-Key": "your_api_key_here", "Content-Type": "application/json"},
json={
"link": "https://facebook.com/post/123",
"quantity": 50 # Minimum: 6
}
)
job = response.json()
print(f"Job created: {job['job_id']}")/api/jobs/facebook-shares/
Crea un trabajo simplificado para obtener compartidos en publicaciones de Facebook. Solo requiere un enlace y cantidad. Precio automático: $0.05 por trabajo. Las presentaciones se aprueban automáticamente una vez que el trabajo está lleno.
Solicitud
Content-Type: application/json
{
"link": "https://facebook.com/post/123", // Required
"quantity": 25, // Required (minimum: 6)
"countries": ["US", "CA"], // Omit to include all countries
"language": "en", // Optional
"approve_once_full": true // Optional (default: true). Auto-approve all submissions once job is full
}Respuesta
// 201 Created
{
"success": true,
"message": "Job created successfully",
"job_id": "123e4567-e89b-12d3-a456-426614174000",
"total_cost": "1.25"
}Respuestas de Error
- 400 — Invalid data, insufficient balance, or quantity below minimum (6)
- 401 — Invalid or missing API key
Ejemplo de Código
import requests
response = requests.post(
"https://api.rapidworkers.io/api/jobs/facebook-shares/",
headers={"X-API-Key": "your_api_key_here", "Content-Type": "application/json"},
json={
"link": "https://facebook.com/post/123",
"quantity": 25 # Minimum: 6
}
)
job = response.json()
print(f"Job created: {job['job_id']}")/api/jobs/instagram-likes/
Crea un trabajo simplificado para obtener me gusta en publicaciones de Instagram. Solo requiere un enlace y cantidad. Precio automático: $0.05 por trabajo. Las presentaciones se aprueban automáticamente una vez que el trabajo está lleno.
Solicitud
Content-Type: application/json
{
"link": "https://instagram.com/ABC123", // Required
"quantity": 100, // Required (minimum: 6)
"countries": ["US", "GB"], // Omit to include all countries
"language": "en", // Optional
"approve_once_full": true // Optional (default: true). Auto-approve all submissions once job is full
}Respuesta
// 201 Created
{
"success": true,
"message": "Job created successfully",
"job_id": "123e4567-e89b-12d3-a456-426614174000",
"total_cost": "5.00"
}Respuestas de Error
- 400 — Invalid data, insufficient balance, or quantity below minimum (6)
- 401 — Invalid or missing API key
Ejemplo de Código
import requests
response = requests.post(
"https://api.rapidworkers.io/api/jobs/instagram-likes/",
headers={"X-API-Key": "your_api_key_here", "Content-Type": "application/json"},
json={
"link": "https://instagram.com/ABC123",
"quantity": 100 # Minimum: 6
}
)
job = response.json()
print(f"Job created: {job['job_id']}")/api/jobs/instagram-followers/
Crea un trabajo simplificado para ganar seguidores de Instagram. Solo requiere un enlace y cantidad. Precio automático: $0.05 por trabajo. Las presentaciones se aprueban automáticamente una vez que el trabajo está lleno.
Solicitud
Content-Type: application/json
{
"link": "https://instagram.com/username", // Required
"quantity": 50, // Required (minimum: 6)
"countries": ["US", "CA"], // Omit to include all countries
"language": "en", // Optional
"approve_once_full": true // Optional (default: true). Auto-approve all submissions once job is full
}Respuesta
// 201 Created
{
"success": true,
"message": "Job created successfully",
"job_id": "123e4567-e89b-12d3-a456-426614174000",
"total_cost": "2.50"
}Respuestas de Error
- 400 — Invalid data, insufficient balance, or quantity below minimum (6)
- 401 — Invalid or missing API key
Ejemplo de Código
import requests
response = requests.post(
"https://api.rapidworkers.io/api/jobs/instagram-followers/",
headers={"X-API-Key": "your_api_key_here", "Content-Type": "application/json"},
json={
"link": "https://instagram.com/username",
"quantity": 50 # Minimum: 6
}
)
job = response.json()
print(f"Job created: {job['job_id']}")/api/jobs/twitter-likes/
Crea un trabajo simplificado para obtener me gusta en publicaciones de Twitter/X. Solo requiere un enlace y cantidad. Precio automático: $0.05 por trabajo. Las presentaciones se aprueban automáticamente una vez que el trabajo está lleno.
Solicitud
Content-Type: application/json
{
"link": "https://twitter.com/user/status/123", // Required
"quantity": 75, // Required (minimum: 6)
"countries": ["US", "GB"], // Omit to include all countries
"language": "en", // Optional
"approve_once_full": true // Optional (default: true). Auto-approve all submissions once job is full
}Respuesta
// 201 Created
{
"success": true,
"message": "Job created successfully",
"job_id": "123e4567-e89b-12d3-a456-426614174000",
"total_cost": "3.75"
}Respuestas de Error
- 400 — Invalid data, insufficient balance, or quantity below minimum (6)
- 401 — Invalid or missing API key
Ejemplo de Código
import requests
response = requests.post(
"https://api.rapidworkers.io/api/jobs/twitter-likes/",
headers={"X-API-Key": "your_api_key_here", "Content-Type": "application/json"},
json={
"link": "https://twitter.com/user/status/123",
"quantity": 75 # Minimum: 6
}
)
job = response.json()
print(f"Job created: {job['job_id']}")/api/jobs/twitter-followers/
Crea un trabajo simplificado para ganar seguidores de Twitter/X. Solo requiere un enlace y cantidad. Precio automático: $0.05 por trabajo. Las presentaciones se aprueban automáticamente una vez que el trabajo está lleno.
Solicitud
Content-Type: application/json
{
"link": "https://twitter.com/username", // Required
"quantity": 50, // Required (minimum: 6)
"countries": ["US", "CA"], // Omit to include all countries
"language": "en", // Optional
"approve_once_full": true // Optional (default: true). Auto-approve all submissions once job is full
}Respuesta
// 201 Created
{
"success": true,
"message": "Job created successfully",
"job_id": "123e4567-e89b-12d3-a456-426614174000",
"total_cost": "2.50"
}Respuestas de Error
- 400 — Invalid data, insufficient balance, or quantity below minimum (6)
- 401 — Invalid or missing API key
Ejemplo de Código
import requests
response = requests.post(
"https://api.rapidworkers.io/api/jobs/twitter-followers/",
headers={"X-API-Key": "your_api_key_here", "Content-Type": "application/json"},
json={
"link": "https://twitter.com/username",
"quantity": 50 # Minimum: 6
}
)
job = response.json()
print(f"Job created: {job['job_id']}")/api/jobs/twitter-retweets/
Crea un trabajo simplificado para obtener retweets de Twitter/X. Solo requiere un enlace y cantidad. Precio automático: $0.05 por trabajo. Las presentaciones se aprueban automáticamente una vez que el trabajo está lleno.
Solicitud
Content-Type: application/json
{
"link": "https://twitter.com/user/status/123", // Required
"quantity": 30, // Required (minimum: 6)
"countries": ["US", "GB"], // Omit to include all countries
"language": "en", // Optional
"approve_once_full": true // Optional (default: true). Auto-approve all submissions once job is full
}Respuesta
// 201 Created
{
"success": true,
"message": "Job created successfully",
"job_id": "123e4567-e89b-12d3-a456-426614174000",
"total_cost": "1.50"
}Respuestas de Error
- 400 — Invalid data, insufficient balance, or quantity below minimum (6)
- 401 — Invalid or missing API key
Ejemplo de Código
import requests
response = requests.post(
"https://api.rapidworkers.io/api/jobs/twitter-retweets/",
headers={"X-API-Key": "your_api_key_here", "Content-Type": "application/json"},
json={
"link": "https://twitter.com/user/status/123",
"quantity": 30 # Minimum: 6
}
)
job = response.json()
print(f"Job created: {job['job_id']}")/api/jobs/trustpilot-reviews/
Crea un trabajo simplificado para obtener reseñas de Trustpilot. Solo requiere un enlace y cantidad. Precio automático: $0.05 por trabajo. Las presentaciones se aprueban automáticamente una vez que el trabajo está lleno.
Solicitud
Content-Type: application/json
{
"link": "https://trustpilot.com/review/example.com", // Required
"quantity": 20, // Required (minimum: 6)
"countries": ["US", "CA"], // Omit to include all countries
"language": "en", // Optional
"approve_once_full": true // Optional (default: true). Auto-approve all submissions once job is full
}Respuesta
// 201 Created
{
"success": true,
"message": "Job created successfully",
"job_id": "123e4567-e89b-12d3-a456-426614174000",
"total_cost": "1.00"
}Respuestas de Error
- 400 — Invalid data, insufficient balance, or quantity below minimum (6)
- 401 — Invalid or missing API key
Ejemplo de Código
import requests
response = requests.post(
"https://api.rapidworkers.io/api/jobs/trustpilot-reviews/",
headers={"X-API-Key": "your_api_key_here", "Content-Type": "application/json"},
json={
"link": "https://trustpilot.com/review/example.com",
"quantity": 20 # Minimum: 6
}
)
job = response.json()
print(f"Job created: {job['job_id']}")/api/jobs/9gag-upvotes/
Crea un trabajo simplificado para obtener votos positivos de 9GAG. Solo requiere un enlace y cantidad. Precio automático: $0.05 por trabajo. Las presentaciones se aprueban automáticamente una vez que el trabajo está lleno.
Solicitud
Content-Type: application/json
{
"link": "https://9gag.com/gag/abc123", // Required
"quantity": 50, // Required (minimum: 6)
"countries": ["US", "GB"], // Omit to include all countries
"language": "en", // Optional
"approve_once_full": true // Optional (default: true). Auto-approve all submissions once job is full
}Respuesta
// 201 Created
{
"success": true,
"message": "Job created successfully",
"job_id": "123e4567-e89b-12d3-a456-426614174000",
"total_cost": "2.50"
}Respuestas de Error
- 400 — Invalid data, insufficient balance, or quantity below minimum (6)
- 401 — Invalid or missing API key
Ejemplo de Código
import requests
response = requests.post(
"https://api.rapidworkers.io/api/jobs/9gag-upvotes/",
headers={"X-API-Key": "your_api_key_here", "Content-Type": "application/json"},
json={
"link": "https://9gag.com/gag/abc123",
"quantity": 50 # Minimum: 6
}
)
job = response.json()
print(f"Job created: {job['job_id']}")/api/jobs/youtube-likes/
Crea un trabajo simplificado para obtener me gusta en videos de YouTube. Solo requiere un enlace y cantidad. Precio automático: $0.05 por trabajo. Las presentaciones se aprueban automáticamente una vez que el trabajo está lleno.
Solicitud
Content-Type: application/json
{
"link": "https://youtube.com/watch?v=abc123", // Required
"quantity": 100, // Required (minimum: 6)
"countries": ["US", "CA"], // Omit to include all countries
"language": "en", // Optional
"approve_once_full": true // Optional (default: true). Auto-approve all submissions once job is full
}Respuesta
// 201 Created
{
"success": true,
"message": "Job created successfully",
"job_id": "123e4567-e89b-12d3-a456-426614174000",
"total_cost": "5.00"
}Respuestas de Error
- 400 — Invalid data, insufficient balance, or quantity below minimum (6)
- 401 — Invalid or missing API key
Ejemplo de Código
import requests
response = requests.post(
"https://api.rapidworkers.io/api/jobs/youtube-likes/",
headers={"X-API-Key": "your_api_key_here", "Content-Type": "application/json"},
json={
"link": "https://youtube.com/watch?v=abc123",
"quantity": 100 # Minimum: 6
}
)
job = response.json()
print(f"Job created: {job['job_id']}")Manejo de Errores
Todos los errores de API siguen un formato consistente:
{
"error": "Error message describing what went wrong"
}- 200 Solicitud exitosa
- 201 Recurso creado exitosamente
- 400 Datos de solicitud inválidos
- 401 Clave API faltante o inválida
- 403 Permisos insuficientes
- 404 Recurso no encontrado
- 429 Límite de tasa excedido (1,000/hora)
- 500 Error del servidor