Skip to main content

Verifier Timeline

GET /api/ext/comments/{id}/verifications

Returns the full list of auto-verification attempts on a task — useful when:

  • a task is stuck in submitted and you want to know why the verifier couldn't match,
  • you want to audit the auto-verifier's hit rate per platform,
  • you're building automation that decides between approve/dispute based on the scrape evidence.
curl -X GET https://app.tokportal.com/api/ext/comments/0d8b5a3e-92c4-4111-9a7d-3e2f1a2b3c4d/verifications \
-H "X-API-Key: tok_live_xxx"

Response:

{
"data": {
"task_id": "0d8b5a3e-92c4-4111-9a7d-3e2f1a2b3c4d",
"status": "manually_confirmed",
"attempts": [
{
"attempt_n": 1,
"scraped_at": "2026-04-27T17:22:10Z",
"outcome_kind": "couldnt_verify",
"verified": false,
"match_score": 0,
"found_comment_id": null,
"reason": "no_candidate_found",
"comments_scraped": 87,
"platform": "tiktok"
}
]
}
}

Field reference

FieldTypeDescription
attempt_ninteger1-indexed attempt number on this task.
scraped_atstringWhen the scrape ran (UTC).
outcome_kindstringOne of: verified, wrong_text, wrong_account, couldnt_verify, scrape_failed.
verifiedbooleanTrue only when outcome_kind = "verified".
match_scorenumberSørensen-Dice similarity of the best-matching comment (0–1). 0 if nothing matched.
found_comment_idstring | nullPlatform comment ID of the best match (if any).
reasonstringInternal reason tag — matched, no_candidate_found, wrong_text_same_handle, wrong_account, scrape_failed_*.
comments_scrapedinteger | nullHow many comments the scraper returned. 0 is a strong signal the scraper couldn't reach the video.
platformstring | nullSnapshot of the platform at scrape time — useful for cross-platform audits.

Outcome decision matrix

outcome_kindResulting task state
verifiedverified_autofinalized after the 24h review window.
wrong_textpending_corrections (manager edits/reposts).
wrong_accountpending_corrections (manager deletes + reposts from right account).
couldnt_verifyTask stays in submitted — manager sees the manual modal.
scrape_failedTask stays in submitted; cron re-attempts later.

Why was my task not verified?

If comments_scraped is 0 across all attempts, the Apify scraper couldn't reach the video — usually a private account or a regional block. Approve the task or contact the manager.

If comments_scraped is high (40–100) and outcome_kind is couldnt_verify, the comment really wasn't found among the recent ones. Either:

  • the manager didn't actually post (dispute),
  • the comment was hidden / deleted by the creator (approve, your reach is gone but the manager did the work),
  • the comment is older than the 100 most recent (rare; approve).

If outcome_kind is wrong_text, the manager posted a typo'd version. The correction_required text on the task spells out what they need to fix.

If outcome_kind is wrong_account, the manager used a different account than saved_account_id. The manager will be told to delete + repost.