> name(name: String!, extension: String!): Name @access(scope: NAMES, kind: RO)
Do you have a reason for splitting the name and extension of a domain?
I rarely think about them separately
> domainContact(domainId: Int!, kind: ContactKind!) Contact! @access(scope: NAMES, kind: RO)
This is already covered by Name.whois*** fields, no?
> transferLock(domainId: Int!) Boolean @access(scope: NAMES, kind: RO)
> nameservers(domainId: Int!) [String!] @access(scope: NAMES, kind: RO)
Those could be properties of the type Name, I guess.
> "Check for availability of a domain"
> check(name: String!, extension: String!): Boolean @access(scope: NAMES, kind: RO)
I would also rather have the name not split.
The response could have many more fields:
- isAvailable
- transferLockStatus (since it can have multiple statuses apparently: "locked", "locking", "unavailable", "unlocked", "unlocking")
- tld { extension, isRegistrationSupportedOnSrHt, ... }
- pricing {...}
Another query field could be `extensions`, which would return the tlds available for registration on names.sr.ht.
Another source of inspiration could be https://api.ovh.com/console/#/domain