Blog·Craft·

Booleans are plain words

bot, mobile, valid, disposable, datacenter. Every flag in the API is one plain word answering a plain question.

A field named flag_2 tells you nothing. bot tells you everything.

GET /useragent
{ "device": "mobile", "os": "Android", "browser": "Chrome Mobile", "bot": false, "mobile": true }

bot. mobile. Not is_bot, not bot_flag, not mobile_type. The name is the question, the value is the answer.

GET /ip/52.94.76.10?deep=true
{ "deep": { "datacenter": true, "relay": false, "tor": false, "provider": "aws" } }

GET /email/team@example.com
{ "valid": true, "domain_valid": true, "role": true, "disposable": false }

Datacenter? Yes. Relay? No. Valid? Yes. Disposable? No. Read it straight down like a checklist. None of it needs a lookup table.

No enum to memorize

A field like connection_type with values like 1, 2, 3 sends you to the docs every time. datacenter answers itself. The rule holds for every boolean in the API: one plain word, true or false, never a coded number standing in for yes or no, never a ceremony prefix padding it out.

Try it

Call /ip or /useragent and scan any boolean. If a flag makes you ask what it means, we named it wrong.