DNS
This serves as a few required api endpoints for the dns, it may have more.
Endpoints
Resolve
GET /resolve/<domain>/<tld>
An array with records.
[
{ "type": "WEB", "name": "website.tld", "value": "target" },
...
]
Domains
GET /domains
An array containing domains, the dns may include more values.
Optionally this can include limit
and page
query params for pagination and query
query param for search.
[
{
"domain": "website.tld",
"records": [
...
]
},
...
]
TLDs
GET /tlds
{
"valid": [
"tld",
...
],
"available": [
"tld",
...
],
"info": {
"tld": {}
}
}
Valid: All TLDs that exist
Available: All TLDs the current user can register Info: Optional info about TLDs, the inner object can contain any data per dns
Schemas
Record
{
"type": "WEB|RED|TXT",
"name": "url",
"value": "target|value"
}
Type: All uppercase 3 letter type
- WEB/RED: Cannot have multiple records that share a name
- TXT: Can have as many repeats as necessary
Name: The pointer in website
This is a full buss URL without buss://
@ is a shorthand for the top domain but must not appear in the final name. WEB website.tld https://...
Will set the top domain locationWEB sub.website.tld https://...
Will set the location of a subdomain
Value:
This is based on the type- WEB: Value must be a https URL or IP (can’t be github.com), this points the location of the website
- RED: Value must be a buss website (no buss:// just
website.tld
), this redirects you to another buss website (can be 3rd party) - TXT: Any text value
Record short syntax
<TYPE> <NAME> <VALUE>
A user should be able to use this syntax to add records quickly or mention them.
Domain
{
"domain": "url",
"records": [
...
]
}
Domain: Top domain (website.tld
)
Records: Refer to the record schema