Skip to content

Wire messages ​

<!-- Generated by docs-site/scripts/generate-reference-pages.mjs. Do not edit. -->

Generated page

Built from server/src/relay_wire_protocol.rs on every docs build, so it always matches the code.

Relay to phone ​

Server -> device. client_id names the asking agent; the app maps it to a display name.

Every message is a JSON object whose type field names the message.

locate ​

expires_ms: epoch ms when the relay stops waiting.

FieldTypeRequiredNotes
client_idstringyes
expires_msinteger (uint64)yes
idstring (uuid)yes
requesteranynoNull for the owner's own agent.

cancel ​

Another device answered id: close the prompt.

FieldTypeRequiredNotes
idstring (uuid)yes

Phone to relay ​

Device -> server.

Every message is a JSON object whose type field names the message.

hello ​

FieldTypeRequiredNotes
app_versionstringno
device_idstring (uuid)no
device_namestringno
platformstringno

location ​

Fix sent by the phone in answer to a locate ping.

FieldTypeRequiredNotes
accuracy_mnumber (double)no
captured_at_msinteger (uint64)yes
idstring (uuid)yes
latitudenumber (double)yes
longitudenumber (double)yes

denied ​

FieldTypeRequiredNotes
idstring (uuid)yes
reasonno_answer, usernoWhy the user did not share. Unknown reasons count as User.

unavailable ​

FieldTypeRequiredNotes
idstring (uuid)yes
reasonpermission, no_fix, erroryesWhy the phone could not look. Unknown reasons count as Error.

log ​

App diagnostics (no location data); the relay only logs them.

FieldTypeRequiredNotes
msgstringyes