Pre-release. HareBox is a working local build with no public service yet. Statuses on every feature say what runs today; speed and reliability figures are targets until measured. Status

Errors

Works locallyWorks in the local build today.

Every error has this shape. Branch on code, not on message.

{
  "code": "start_rate_limited",
  "message": "This project has used its 60 starts for this minute.",
  "fix": "Retry after 14 seconds, or send placement: \"queue\" to wait in line.",
  "status": 429,
  "request_id": "req_01J9ZK",
  "retry_after_seconds": 14,
  "docs_url": "https://harebox.com/docs/reference/errors.html#start_rate_limited"
}

Safe retry rules

Situation Retry?
retry_after_seconds present Yes, after that time
Any 5xx on a request with Idempotency-Key Yes, with the same key
Network error on a request with Idempotency-Key Yes, with the same key
4xx without retry_after_seconds No. Change the request.
idempotency_outcome_unknown Not with the same key. Check whether it worked, then use a new key if it didn't.
POST with no idempotency key after a timeout Check state first. It may have worked.

Codes

Status Code Meaning What to do
400invalid_request A field is wrong; details names it Fix the field
401invalid_credential Key missing, expired or revoked Sign in or rotate
400trial_auto_stop_required The trial needs an auto-stop of 2 hours or less Send ttl_seconds of 7200 or less, or end the trial
402payment_required No credit and grace has ended A human adds funds
402billing_required No plan, or an extra start the wallet can't pay Start a plan, or add to the wallet
402card_required The trial or a plan needs a card on file A person runs harebox billing card
402subscription_required The wallet needs a plan first Start a plan
402budget_exceeded A hard budget blocked this The owner raises the budget
403scope_missing Key lacks a scope; details names it Use another key
403target_forbidden Key cannot reach this sandbox Check selectors
403size_not_allowed The plan doesn't offer this size; details.allowed lists what it does Pick an allowed size, or move up a plan
403templates_not_allowed Saving templates needs a paid plan End the trial
403claim_required Only a claimed account can add a card A person opens the claim_url
404not_found No such resource, or no access Check the ID
409idempotency_outcome_unknown An earlier attempt with this key was interrupted by a server failure, so it may or may not have taken effect List the resources, then use a new key if it didn't work
422idempotency_key_reused This key was already used with a different request body Use a new key
409invalid_state Wrong state; details.state gives it Wake or resume first
409sandbox_starting Still starting after a 60 s wait Retry
409capability_unavailable Not possible right now Read capabilities
409data_expired Past retention, with no archive Cannot be recovered
409requires_active_plan Auto top-up needs a paid plan End the trial first
429start_rate_limited Past the ceiling of extra starts, or the trial's starts; details.cause says which Wait, placement: queue, or a larger plan
429trial_compute_limit_reached The trial used its 25 hours End the trial
429concurrency_limited Too many running Stop one, or upgrade
429member_cap_reached An owner capped this member Ask the owner
429api_rate_limited Too many API calls Follow retry_after_seconds
503no_capacity No machine now; running VMs unaffected Retry, or queue with placement: "queue"

CLI exit codes

Code Meaning
0 Success
1 General failure
2 Usage
3 Auth
4 Not found
5 Wrong state
6 Limit or budget
7 Capacity
8 Network

harebox exec returns the remote command's own exit code.

View as Markdownllms.txt for agents