Free subdomains
No domain yet? Claim a name like yourteam.itoka.dev. It's live on ns1 and ns2 the moment you claim it.
A free subdomain is an ordinary Itoka zone: records, presets, propagation checks, webhooks, managers and API keys all work the same way. There's no verification and no registrar, because Itoka owns itoka.dev. Each account can have up to three, and they stay yours after the hackathon.
# Is it available?
curl "https://api.itoka.ng/api/v1/free-subdomains/check?name=yourteam" -H "Authorization: Bearer $ITOKA_API_KEY"
# {"name": "yourteam.itoka.dev", "available": true, "reason": ""}
# Claim it
curl https://api.itoka.ng/api/v1/free-subdomains -H "Authorization: Bearer $ITOKA_API_KEY" \
-H "Content-Type: application/json" -d '{"name": "yourteam"}'Claiming needs zones:manage on a key for all zones. In the dashboard: Add a zone → Get a free subdomain.
Names
- 3 to 30 letters, digits and hyphens, one label:
yourteam, nota.yourteam. Add records likewwwinside it instead. - Reserved names can't be claimed:
www,api,app,mail,login,admin,status,supportand similar. - Names containing brands people impersonate (banks, payment apps, big tech) aren't available.
- The check endpoint answers
200withavailableand, when it's not, areason(or503when free subdomains are off on the server).
Errors
| Status | Code | Means |
|---|---|---|
| 403 | email_unverified | Confirm your email first (for a key, its creator’s email). |
| 422 | invalid_subdomain | The name breaks a rule above; the message says which. |
| 409 | zone_exists | Someone has it already. |
| 409 | too_many_subdomains | Your account has three. |
| 503 | free_subdomains_off | Not available on this server right now. |
A claimed subdomain is an ordinary zone with kind: "free_subdomain" (other zones are "domain"). It comes back live at once: there's no delegation to wait for.
Suspension
A free subdomain used for phishing, impersonation, malware or spam is suspended: its records are removed at once and changes are refused. The zone shows status: "error" with the reason in status_note, and writes answer 409 suspended. If you think it's a mistake, email hello@itoka.ng.