Supply a 2FA code for an import row
Complete one row parked on needs_2fa by submitting the code the creator received.
Complete one row parked on needs_2fa by submitting the code the creator received.
Synchronous by design: it is a single platform call and an operator is watching, so the response carries the real outcome rather than "queued". success: true means the account is connected.
The field is code (otp_code is also accepted here), 4–12 characters, letters, digits and hyphens. This route is on the standard sensitive tier (100/minute), not the login tier — clearing a queue of parked rows back to back is the expected workflow, and the code is verified by the platform rather than by us.
Authorization
apiKey Your CRM panel API key
In: header
Path Parameters
Import job ID (32-character hex) returned by POST /import/jobs.
Row ID within the import job — the id field of a row from GET /import/jobs/{job_id}, not its row_index.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/import/jobs/string/rows/0/otp" \ -H "Content-Type: application/json" \ -d '{ "code": "string" }'{ "success": true, "row": { "id": 0, "job_id": "string", "row_index": 0, "source_line": 0, "lane": "cookie", "platform": "onlyfans", "email": "string", "label": "string", "proxy": "string", "status": "pending", "has_password": true, "has_totp_secret": true, "two_fa_expires_at": "string", "two_fa_remaining_seconds": 0, "of_user_id": "string", "username": "string", "error": "string", "error_reason": "string", "permanent": true, "attempts": 0, "started_at": "string", "finished_at": "string", "created_at": "string", "updated_at": "string" }}Cancel an import job POST
Stop an import. Cancellation is cooperative: pending rows are canceled at once and nothing further is claimed, but a row already mid-login runs to completion — we cannot…
Retry an import row POST
Re-queue one row and restart the job's worker. A needs_2fa_expired row re-runs the login from scratch — the parked challenge is dead, so replaying it would only earn…