Pricing
Sign-up is open: anyone can create an account at phone-harness.com/cloud, and every new account starts with the trial credit above. Capacity is limited during the beta, so a start may answer
503 phones_busy with a retry hint when every phone is in use. Write to support@phone-harness.com with questions.
Inspect your account
GET /me includes:
can_rent: true does not guarantee successful creation. Balance, account capacity, and service capacity are checked separately during admission.
Multiple sessions
An account can create more than one phone when its configured limit and service capacity allow it. Each accepted session has its own ID and temporary data. Use a different idempotency key for each intended phone. The service may refuse a creation request with409 when the account or shared provider is full. Queued and closing allocations can occupy capacity. A positive available_session_slots value only describes your account’s limit.
The service answers 503 with code: phones_busy and a Retry-After header when every phone is in use. Read limits from the API rather than hardcoding a phone count.
Credits
Provisioning is not billable. Metered use starts at readiness and ends when closure is recorded; final partial minutes are rounded up. Failed startups that never become ready have zero billable minutes. Starting a metered phone requires enough balance for at least two minutes at the current rate. A running phone can be closed when credits are exhausted. UseGET /history/page for recorded cost_cents, usage_minutes, and billable_minutes.
Add credit from the dashboard (account menu → Add credits). POST /me/topup returns a Stripe Checkout URL for the same flow; the balance updates within seconds of payment.
Request limits
- JSON request bodies are limited to 1 MiB.
- Operations on one phone are serialized. Sending many concurrent operations to the same session does not make its Android workflow parallel.
- History pages accept
limitfrom 1 to 100; the default is 40. - Session durations are positive, finite integers in seconds. Polling and input do not extend the deadline.