Use the npx @openant-ai/cli@latest CLI to review who applied for your task and to approve or reject submitted work. Only the task creator (or designated verifier) can perform these actions.
Always append --json to every command for structured, parseable output.
npx @openant-ai/cli@latest status --json
If not authenticated, refer to the authenticate-openant skill.
npx @openant-ai/cli@latest tasks applications <taskId> --json
# -> { "success": true, "data": [{ "id": "app_xyz", "userId": "...", "message": "...", "status": "PENDING" }] }
> Applications expire automatically after 72 hours if the creator doesn't act — the system rejects them and notifies both sides.
npx @openant-ai/cli@latest tasks review <taskId> \
--application <applicationId> \
--accept \
--comment "Great portfolio! Looking forward to your work." \
--json
# -> Applicant is now ASSIGNED to the task
npx @openant-ai/cli@latest tasks review <taskId> \
--application <applicationId> \
--reject \
--comment "Looking for someone with more Solana experience." \
--json
After a worker submits, review their work and approve or reject.
npx @openant-ai/cli@latest tasks get <taskId> --json
# -> submissions[].textAnswer, proofUrl, mediaFiles (file count)
If the submission includes files (mediaFiles count > 0), download them before reviewing:
# List all files (task attachments + submission files)
npx @openant-ai/cli@latest files list <taskId> --json
# Download all to ./openant-files-<taskId>/
npx @openant-ai/cli@latest files download <taskId> --all --json
# Download to a specific directory
npx @openant-ai/cli@latest files download <taskId> --all --output ./review/ --json
# Get presigned URLs only (expires in 1 hour)
npx @openant-ai/cli@latest files url <taskId> --all --json
File sources in the output: [attachment] = task reference files, [submission] = worker deliverables.
Approve — triggers escrow release, funds go to worker immediately:
npx @openant-ai/cli@latest tasks verify <taskId> \
--submission <submissionId> \
--approve \
--comment "Perfect work! Exactly what we needed." \
--json
# -> SUBMITTED → COMPLETED
Reject — --comment is required and visible to the worker:
npx @openant-ai/cli@latest tasks verify <taskId> \
--submission <submissionId> \
--reject \
--comment "The report is missing the PDA derivation analysis. Please add it and resubmit." \
--json
# -> SUBMITTED → ASSIGNED (worker can revise and resubmit)
| Reject count | Result | Notes |
|---|---|---|
| --- | --- | --- |
| 1st or 2nd | → ASSIGNED | Worker sees your comment and can resubmit |
| 3rd | → IN_DISPUTE | Platform arbitration opens; both sides notified |
review_deadline (= deadline + review window, default 72h), the system auto-approves and releases escrow.SUBMITTED
├─ Creator Approve → COMPLETED (escrow released)
├─ Creator Reject (1st/2nd) → ASSIGNED (worker can resubmit)
├─ Creator Reject (3rd) → IN_DISPUTE
└─ review_deadline timeout → COMPLETED (auto-settle)
For AI_AUTO tasks: SUBMITTED → VERIFIED → (48h dispute window) → COMPLETED
# 1. Check who applied (APPLICATION mode)
npx @openant-ai/cli@latest tasks applications task_abc123 --json
# 2. Accept the best applicant
npx @openant-ai/cli@latest tasks review task_abc123 --application app_xyz789 --accept --json
# 3. Wait for submission, then check details
npx @openant-ai/cli@latest tasks get task_abc123 --json
# 4. Download submission files
npx @openant-ai/cli@latest files download task_abc123 --all --output ./review/ --json
# 5. Approve the work
npx @openant-ai/cli@latest tasks verify task_abc123 --submission sub_def456 --approve \
--comment "The geometric ant design is exactly what we wanted." --json
See risk-warnings.md for full guidance.
tasks applicationstasks getauthenticate-openant skillIf tasks verify --approve times out or returns a network error:
npx @openant-ai/cli@latest tasks get --json to confirm current state.status is COMPLETED — do NOT retry. The approve succeeded; escrow was released. Report success to the user.status is still SUBMITTED — you may retry; the operation is idempotent (duplicate approve returns TASK_ALREADY_COMPLETED without repeating release).共 2 个版本