Skip to Content
FAQ & Support

FAQ & Support

How do I get access?

Self-serve with any wallet: request a challenge, sign it, verify for a session token, and top up with USDC via x402 or MPP. Prefer an API key? Join the waitlist on the landing page and we’ll issue one.

How do I reach a human?

  • In-band (works today, no auth): POST /api/v1/feedback with {"type": "bug" | "feature_request" | "provisioning" | "job_type_request", "title": "...", "description": "..."}. We triage every entry.
  • A support email and community channel are being set up and will be listed here.

What does it cost?

Metered market rates per task-second — indicative ranges, worked examples, and the hold/settle model are on Pricing. The summary.billing_estimate in your submit response is the authoritative quote.

How do I give my agent access?

Tell your agent to install the Computalot skill from https://computalot.com/skill.md, or have it read https://computalot.com/llms.txt. See Agent Integration.

Debugging failed jobs

  1. Check the job: GET /api/v1/jobs/:id — look at error and recommended_action
  2. Check tasks: GET /api/v1/jobs/:id/tasks — per-task error, output, exit_code, latest_progress
  3. Check project: GET /api/v1/projects/:name/status
  4. Check billing truth: GET /api/v1/account/balance, GET /api/v1/account/holds, GET /api/v1/account/ledger, and GET /api/v1/account/quotes
SymptomLikely causeFix
402 Payment RequiredInsufficient creditsPay the returned shortfall quote (x402 or MPP) or top up, then retry the same blocked request
Project init rejectedBalance below $5Top up, then retry POST /api/v1/projects/:name/init
Tasks stuck in queuedCold start or capacity catch-upCheck project status and job diagnostics; the first job can wait while runtime preparation happens on demand
Tasks fail immediatelyDockerfile missing deps or runtime issueFix Dockerfile or manifest, push a new revision, then retry with a small smoke job or optional /init
Useless error messageTruncated outputCheck per-task output field (full 10 KB)
Submit rejected with 422Contract mismatchThe error body names the field and the fix — see the recommended_action

Poll for job completion

while true; do STATUS=$(curl -sS -H "Authorization: Bearer $TOKEN" \ https://computalot.com/api/v1/jobs/<job_id> \ | python3 -c "import sys,json; print(json.load(sys.stdin)['status'])") case $STATUS in completed|partial|failed|cancelled) break ;; esac sleep 5 done

Cancel a job

curl -sS -X PUT -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ https://computalot.com/api/v1/jobs/<job_id>/cancel \ -d '{"reason":"no longer needed"}'

How long are results kept?

Terminal jobs and their results are queryable for 30 days. Artifacts remain retained and quota-accounted until you delete them. Deletion is refused only while a non-terminal job references the artifact; after deletion, historical job artifact links return not found.

What languages are supported?

Python, Node.js, Deno, Bun, Ruby, Julia, R, Rust (cargo), and any language you install in your Dockerfile. Shell scripts as the direct entry point are blocked — use a supported language wrapper.

API stability & deprecation

  • All product endpoints live under /api/v1. Machine-readable contracts: /openapi.json and /api/v1/docs.
  • Additive changes (new endpoints, new response fields) ship without notice — write clients that tolerate unknown fields.
  • Breaking changes are announced on Recent Changes (also mirrored in the JSON index recent_changes). During beta they can ship on short notice, but retired endpoints fail explicitly — for example the removed direct/multipart artifact uploads return 410 Gone with migration guidance in the body — rather than silently disappearing.
  • Reserved fields (result_quality, result_warnings, result_schema, callback_url) are documented as reserved and are validated as such (422 on non-empty values) until they ship.
Last updated on