# FAQ

> Short answers to common questions about machines, billing, access, and what VMYard does not do.

## How do I sign up?

Sign in to the console with GitHub, Google, or an email code; your first sign-in creates your user. Organizations are set up by your VMYard operator, so ask them to add you if the console says you have none.

## What is the API's base URL?

It depends on your deployment. Set `VMYARD_API_URL` to the origin you were given. The CLI and SDKs have no default, so they never send a key to a guessed host.

## Am I billed while a machine is stopped?

No. Billing is per second, only while VMYard observes the machine running. See [Usage, billing, and limits](/docs/guides/billing).

## Why did my machine stop on its own?

[Auto-stop](/docs/concepts/auto-stop) reached its deadline (new machines stop after 1 hour by default), [idle sleep](/docs/concepts/idle-sleep) found it idle for its window (only when you turned it on), or the organization's balance ran out and stayed empty past the grace period. All emit `machine.stopped`, and the stop operation's `stop_reason` says which: `auto_stop`, `idle_sleep`, `billing`, or `api` for a stop someone asked for. Activity inside the machine doesn't extend auto-stop.

## Are my files kept when a machine stops?

Yes, files in `/work` are kept until the machine is deleted. Don't count on running processes or in-memory state surviving a stop.

## Can a machine sleep when idle and wake on the next request?

It can sleep when idle: turn on [idle sleep](/docs/concepts/idle-sleep) and VMYard stops the machine once it has shown no activity for the window you chose. It is off by default.

It does not wake on the next request: start a sleeping machine to wake it. See [Sleep and wake](/docs/concepts/sleep-and-wake).

## Can I snapshot, fork, or template a machine?

Yes, from the console, the CLI (`vy snapshot`, `vy templates save`, `vy fork`, `vy restore`), the SDKs, or the HTTP API. Push a stopped machine as a warm or cold [snapshot](/docs/guides/snapshots), save it as a [template](/docs/guides/templates) to create machines from, or [fork](/docs/guides/fork-and-restore) a running machine. Every copy is a new machine with its own ID and identity.

## My command exited non-zero. Why did the operation fail?

An exec operation succeeds only when the command exits with code 0. A non-zero exit ends it `failed` with `exec_nonzero`; the output is still in `exec_result`. See [Running commands](/docs/guides/commands#the-result).

## How long can a command run?

A foreground command can run up to 10 minutes (`timeout_ms` up to 600,000). Use a [background command](/docs/guides/background-commands) for anything longer.

## I retried a request. Did it run twice?

Not if you sent the same `Idempotency-Key` and body: VMYard returns the original operation. See [Operations and idempotency](/docs/concepts/operations).

## Why does my API key get `403 insufficient_scope`?

Its preset doesn't include that route. Reading files and command status counts as using a machine and needs `use_existing`; webhooks need `full_access`. See [API keys and presets](/docs/guides/api-keys#presets).

## Why can't I manage API keys with an API key?

Key management needs a signed-in browser session so a leaked key can't mint more keys. Use the console, or `vy login` to get a new key.

## Does `vy logout` revoke my key?

No. It deletes the key from your computer. Revoke it in the console under **API keys**.

## How do I share a running service?

[Expose the port](/docs/guides/ports). Keep it private and hand out short-lived tokens, or make it public.

## Can I connect over SSH?

Yes, with your own public key through VMYard's SSH gateway. See [SSH](/docs/guides/ssh); `vy ssh <machine>` installs your key if needed and connects.

## Status and support

Open [/status](/status), no sign-in needed. It shows whether the API, the dashboard, and the docs are operational, degraded, down, or unknown, and when they were last checked. It also lists current incidents and scheduled maintenance when your deployment publishes them. It shows current state only, with no uptime history.

When the console itself is down, use your deployment's independent status page: it runs on a separate host, so it stays up, and it keeps its recent check history. The console's footer links to it when your deployment runs one. See [Status page](/docs/status).

For help, open **Support** in the console sidebar, or [/support](/support). It shows your deployment's support contacts. **Copy diagnostic info** copies your user ID, organization ID, recent operation IDs, and the console version, so support can find your requests. It never includes your session, CSRF token, or API keys.

## Where are the docs as Markdown?

Add `.md` to any docs URL, or use **Copy page**. [/llms.txt](/llms.txt) lists every page and [/llms-full.txt](/llms-full.txt) has them all in one file.
