DocsGetting started

.md

Quickstart

All pages

From signing up to your agent looking at a phone, in five steps.

  1. Sign up and get a phone

    Start a free trial in the console, or top up your balance by card. Then, on the Phones page, pick a model and allocate a phone. It is paid for from your balance, 30 days at once or by the minute while it runs, and the balance has to cover it before you can add one. You can also allocate over the API; see Phones.

  2. Create an API key

    In the console, go to Developers → API keys, name the key and pick its scopes. A key is shown once, so put it in your secret manager or an environment variable straight away.

    bash
    export DISTILLED_KEY="dk_live_..."
  3. Check that it works

    GET /v1/me accepts any valid key and tells you which workspace it belongs to and what it may do.

    terminal
    curl https://api.distilled.cx/v1/me \
      -H "Authorization: Bearer $DISTILLED_KEY"
    200 OK
    {
      "workspace": { "id": "acme", "name": "Acme" },
      "key": {
        "id": "k7m2p4x5q3r6t2w5",
        "name": "agent",
        "scopes": [
          "phones:read", "phones:write", "control:write",
          "runs:read", "runs:write", "skills:read", "skills:write",
          "billing:read", "billing:write"
        ]
      }
    }
  4. Connect your agent

    Add the server to your MCP client's configuration. Where that lives and its exact format depend on the client, but most take an entry like this one: the URL, and your key as a bearer token.

    mcp.json
    {
      "mcpServers": {
        "distilled": {
          "type": "http",
          "url": "https://mcp.distilled.cx/mcp",
          "headers": {
            "Authorization": "Bearer dk_live_..."
          }
        }
      }
    }
  5. Look at a phone

    List your phones with GET /v1/phones, then ask one for a screenshot. Your agent can do the same with the screenshot tool.

    terminal
    curl https://api.distilled.cx/v1/phones/phone-1/observe \
      -H "Authorization: Bearer $DISTILLED_KEY" \
      -H "Content-Type: application/json" \
      -d '{ "screenshot": { "maxEdge": 960 } }'

Something missing or unclear? Tell us and we will fix the page. The API also describes itself in OpenAPI.