Error codes
Every error a Droidline command can return, with its HTTP status and whether retrying makes sense.
A failed command answers ok: false with error (one of these codes), msg (the message below, rendered in the server's language), retryable, and the fields the message uses. SDKs raise one exception class per code.
NOT_FOUND
The target did not appear in time. The current package/activity is returned in screen.
- HTTP
- 422
- Retry
- yes
Message Could not find {target} within {timeout}s. Current screen: {screen}
AMBIGUOUS
Several elements match. Only raised in strict mode; candidates are returned.
- HTTP
- 422
- Retry
- no
Message {count} elements match {target}. Pass nth or a narrower selector
NOT_CLICKABLE
Both the node action and the coordinate tap failed.
- HTTP
- 422
- Retry
- yes
Message Found {target} but both the node click and the coordinate tap failed
TIMEOUT
The action itself timed out. Safe to retry.
- HTTP
- 504
- Retry
- yes
Message {cmd} did not finish within {timeout}s
NO_ACCESSIBILITY
Accessibility service is off.
- HTTP
- 409
- Retry
- no
Message The Droidline accessibility service is off. On the phone: Settings > Accessibility > Droidline
NO_IME
The Droidline keyboard is not selected, so key codes, text and clipboard reads are unavailable.
- HTTP
- 409
- Retry
- no
Message The Droidline keyboard is not the current input method. Switch to it on the phone to send key codes, text or read the clipboard
NO_PERMISSION
A permission such as VPN or notification access is missing. The permission name is returned.
- HTTP
- 409
- Retry
- no
Message Permission {permission} is not granted on the phone
APP_NOT_FOUND
Package is not installed. Similar package names are suggested.
- HTTP
- 422
- Retry
- no
Message Package {package} is not installed. Similar: {similar}
ACTIVITY_BLOCKED
Tried to start a non-exported activity. Suggests launching the package default.
- HTTP
- 422
- Retry
- no
Message {activity} is not exported, so other apps cannot open it. Call launch("{package}") without an activity
MACRO_FAILED
A settings macro could not find its button (kill, clear_data, data, wifi, airplane). The blocked step and screen are returned.
- HTTP
- 422
- Retry
- yes
Message Settings macro {cmd} stopped at step "{step}" on {screen}
PROXY_FAILED
Upstream connection or authentication failed. reason is auth, timeout, refused or protocol.
- HTTP
- 502
- Retry
- yes
Message Upstream proxy failed: {reason}
UNKNOWN_CMD
Command not supported. The agent version is returned.
- HTTP
- 404
- Retry
- no
Message Unknown command {cmd}. Agent version {agent}
UNSUPPORTED
The phone's Android version cannot do this without ADB or root.
- HTTP
- 422
- Retry
- no
Message {cmd} needs Android {min_release} or later. This phone runs Android {release}
BAD_ARGS
Missing or invalid parameters.
- HTTP
- 400
- Retry
- no
Message Invalid arguments for {cmd}: {reason}
DEVICE_NOT_FOUND
No paired device has that ID or name.
- HTTP
- 404
- Retry
- no
Message No paired device named {device}
DEVICE_OFFLINE
The device is paired but offline. Commands wait for a reconnect before failing.
- HTTP
- 503
- Retry
- yes
Message {device} did not reconnect within {timeout}s
DEVICE_AMBIGUOUS
No device was given and more than one is online.
- HTTP
- 400
- Retry
- no
Message {count} devices are online. Pass device to pick one: {devices}
AGENT_RESTARTED
The phone app restarted with this command in flight. Not retried automatically to avoid running it twice.
- HTTP
- 503
- Retry
- yes
Message The agent on {device} restarted while {cmd} was running. It may or may not have run
UNAUTHORIZED
Client API token missing or wrong.
- HTTP
- 401
- Retry
- no
Message This connection needs a client token
PAIRING_FAILED
The pairing code did not match a waiting phone.
- HTTP
- 422
- Retry
- no
Message No phone is waiting with code {code}
INTERNAL
Bug. Please report it with the server log.
- HTTP
- 500
- Retry
- no
Message Internal error: {reason}