Skip to main content
POST
Start pairing this assistant with a Brilo phone number

Body

application/json
client_name
string

What to call your assistant on the approval screen, e.g. "Grok". Shown to the owner as an UNVERIFIED claim, because anyone can send anything here — it helps a person recognise the request they just made, and it is not a credential. Omit it and the screen says "your assistant" instead, which is the honest fallback.

Maximum string length: 64
Example:

"Grok"

prefill
object

Your owner's details, if you know them, so the sign-up form arrives filled in. Every field is optional; invalid values are dropped silently and never fail the request. Brilo does not store or log these: they travel only in the #fragment of verification_url_complete, which the owner's browser keeps to itself.

Response

201 - application/json
device_code
string
required

Your half of the pairing. Returned ONCE and never again — only its hash is stored — so keep it until the pairing finishes or fails.

expires_in
number
required

Seconds until the code stops working.

Example:

900

interval
number
required

Seconds to wait between polls. Polling faster is throttled.

Example:

5

user_code
string
required

The short code to read out or show the user. They type it at verification_url. Drawn from an alphabet with no confusable characters, so it never contains O, I, L, U, 0 or 1.

Example:

"7FK9-BHDQ"

verification_url
string
required

Where the user goes to type the code themselves.

verification_url_complete
string
required

The same page with the code already filled in. Use this when you can open a link for the user; use verification_url when you can only speak. Show the code either way — matching it against what you displayed is the check that stops someone being walked through this flow by an attacker.