> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tapkit.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Phone Settings

> Configure phone behavior and defaults

Each phone connected to TapKit has configurable settings that control its default behavior. These settings persist across sessions and can be managed via the API or dashboard.

## Available Settings

### Typing Method

The default typing method used when `type_text()` is called without an explicit method parameter.

| Value      | Description                                               |
| ---------- | --------------------------------------------------------- |
| `shortcut` | Use iOS Shortcut for clipboard-based typing (recommended) |
| `keys`     | Simulate individual keystrokes via keyboard extension     |

See [Typing](/sdk/typing) for detailed explanations of each method.

### Speed

Controls the speed of switch control scanning and automation. This affects how quickly gestures and actions are performed.

| Value | Description                                             |
| ----- | ------------------------------------------------------- |
| `30`  | Slower scanning speed - more reliable on slower devices |
| `90`  | Faster scanning speed - better for newer devices        |

Higher speed values mean faster automation but may be less reliable on older devices or in apps with complex UI. If you're experiencing missed taps or unreliable gestures, try lowering the speed.

## Reading Settings

Use the SDK to retrieve the current settings for a phone:

```python theme={null}
from tapkit import TapKitClient

client = TapKitClient(api_key="joot_...")
phone = client.get_phone("phone_id")

settings = phone.get_settings()
print(f"Typing method: {settings.typing_method}")
print(f"Speed: {settings.speed}")
```

Or via the API directly:

```bash theme={null}
curl https://api.tapkit.ai/v1/phones/{phone_id}/settings \
  -H "X-API-Key: joot_your_api_key"
```

## Updating Settings

Update one or more settings with a PATCH request. Only include the fields you want to change:

```python theme={null}
# Update just the typing method
phone.update_settings(typing_method="shortcut")

# Update just the speed
phone.update_settings(speed=90)

# Update both
phone.update_settings(typing_method="shortcut", speed=90)
```

Or via the API:

```bash theme={null}
curl -X PATCH https://api.tapkit.ai/v1/phones/{phone_id}/settings \
  -H "X-API-Key: joot_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"typing_method": "shortcut", "speed": 90}'
```

## Best Practices

* **Start with `shortcut` typing method** - It's faster and more reliable for most use cases
* **Use slower speed for reliability** - If you're seeing missed gestures, reduce the speed to `30`
* **Configure once, use everywhere** - Set your preferred defaults so you don't need to specify them on every call
