Plonki

Errors

Every error has the same shape. code is stable; hint is written for AI agents and says what to do or ask next.

json
{
  "error": {
    "code": "contact_required",
    "message": "A registrant contact is needed to register a domain",
    "hint": "Ask the user for the domain owner's details (first_name, last_name, email, phone, address1, city, state, postcode, country) and pass them as `contact`. They're saved for next time.",
    "required_fields": ["first_name", "last_name", "email", "phone", "address1", "city", "state", "postcode", "country"]
  }
}
CodeHTTPMeaning and fix
unauthorized401Missing, wrong or revoked API key.
insufficient_scope403The assistant connection lacks a permission. Reconnect and approve it.
validation_error400Fields are missing or wrong. issues lists each one with its path.
invalid_json400The body isn't JSON.
invalid_domain400Not a valid domain name. Letters, numbers and hyphens, up to 63 characters per label.
unsupported_tld400We don't sell that extension. Check GET /prices.
lock_not_supported400.au domains have no transfer lock.
not_registered409Transfer asked for a domain nobody has registered. Register it instead.
already_in_account409The domain is already with Plonki.
transfer_not_possible409The registry won't accept the transfer: wrong code, still locked, or registered or moved in the last 60 days. message says which.
invalid_query400Search needs q or domains.
invalid_years400The term is outside that extension's min_years and max_years.
contact_required400No owner details yet. Send contact once; it's saved.
au_eligibility_required400.au names need au_eligibility with an ABN or ACN. See the .com.au guide.
invalid_nameservers400Give at least two nameservers, or an empty list for Plonki DNS.
invalid_amount400Top-ups are A$10 to A$10,000, in cents.
insufficient_balance402Only with payment: "balance". Top up, or use payment: "auto" for a checkout link.
not_found404No such domain, order or contact in this account and mode.
domain_unavailable409Someone has it. Try suggest_domains.
price_changed409The live price is above max_price. Confirm the new amount (in amount) and retry.
dns_not_hosted409The domain uses external nameservers. Edit DNS there, or switch back with an empty nameserver list.
rate_limited429Too many requests. Wait a minute. See Limits and retries.
registry_error502The registry refused the request; message has its reason.
registry_unreachable502The registry didn't answer. Safe to retry with the same idempotency key.
pricing_unavailable503Prices are briefly unavailable. Retry shortly.
payments_unconfigured503Card payments aren't switched on. Use your balance.
internal_error500Our fault. Retry with the same idempotency key; contact support if it persists.