Domeinen
Alle domeinen worden gerouteerd via onze hoogperformante CDN-provider, bunny. Elk domein kan worden gekoppeld door je nameservers te wijzigen of door een cname-record in te stellen.
Deze endpoints beheren de hostnames die aan WordPress-sites zijn
gekoppeld. Voor registrar-operaties (een TLD registreren/verhuizen) zie
Domeinregistratie. OAuth-scopes:
opzoeken/queryen vereist domains:read; per-site domeinwijzigingen
vereisen sites:write.
Opzoeken en query
Alle domeinen weergeven
Toon alle domeinen die voor een gebruiker toegankelijk zijn.
GET /api/domains
Params (optioneel)
- page: Integer | paginanummer (standaard: 1)
- per_page: Integer | records per pagina (standaard: 50, max: 100)
Geretourneerde params
- domains: Array
- id: String
- hostname: String
- site_id: String
- account_id: String
- dns_zone: Object | bijbehorende dns-zone
- id: String
- name: String
- dnssec: Boolean
- dnssec_data: Object (nil als dnssec = false)
- created_at: DateTime
- updated_at: DateTime
- account: Object
- id: String
- name: String
- dns_zone_records: Array | bijbehorende dns-records
- id: String
- record_type: Integer
- ttl: Integer
- value: String
- name: String
- priority: Integer
- weight: Integer
- port: Integer
- flags: String
- record_tag: String
- comment: String
- created_at: DateTime
- updated_at: DateTime
Domein laden op ID
GET /api/domains/:id
Retourneert één domain-object met dezelfde velden als een lijstvermelding.
Zoeken op domeinnaam
POST /api/domains/query
Dit is een helper-endpoint om een domein te vinden zonder de ID te kennen.
De param q ondersteunt substring-matching overal in de hostname. Bijvoorbeeld:
- Zoeken op
examplematchtexample.com; - Zoeken op
domainmatchtmydomain.com.
Params
- q: String
Retourneert dezelfde vorm als Alle domeinen weergeven.
Controleren of een domein beschikbaar is
POST /api/domains/available
Hiermee wordt gecontroleerd of het domein geldig is en of het al in ons systeem bestaat.
Params
- hostname: String
Gebruik de HTTP-statuscode om beschikbaarheid/geldigheid te bepalen:
HTTP 200: Bestaat en is niet beschikbaarHTTP 422: Geen geldig domein, of ontbrekendehostname-param.HTTP 404: Bestaat niet — geldig en beschikbaar.
Geretourneerde params
- status: String
Site-endpoints
Alle domeinen voor een site weergeven
GET /api/sites/:site_id/domains
Geretourneerde params
- domains: Array
- id: String
- hostname: String
- dns_zone: Object | bijbehorende dns-zone
- dns_zone_records: Array | bijbehorende dns-records
- created_at: DateTime
- updated_at: DateTime
Een domein aanmaken
POST /api/sites/:site_id/domains
Als er nog geen domein voor een site bestaat, wordt dit automatisch ingesteld
als het primaire domein. Inrichten gebeurt asynchroon — retourneert 202 en
maakt een taak aan.
provision_method moet exact de string dns zijn om via nameservers in te
richten; elke andere waarde (of weglating) wordt behandeld als cname.
Params
- domain: String (vereist) | FQDN
- provision_method: String | exact de string
dns, anderscname
Fouten
- 400
{"errors":["Domain can't be blank."]}|domainleeg/ontbreekt - 422 | domein ongeldig of kon niet worden opgeslagen (zie errors-array)
Geretourneerde params voor DNS (provision_method = dns)
- id: String
- ns1: String | eerste nameserver (van het account van de site)
- ns2: String | tweede nameserver (van het account van de site)
Geretourneerde params voor cname (standaard)
- id: String
- cname: String
Een domein promoveren
PATCH /api/sites/:site_id/domains/:id
Dit neemt geen parameters aan en promoveert het aangevraagde domein tot het
primaire domein. Het bestaande primaire domein wordt een alias. Retourneert 202.
Verwijderen
Hiermee wordt het domein verwijderd. Als het het primaire domein is, wordt de
site bijgewerkt om de standaard tijdelijke url te gebruiken. We raden aan om
eerst je nieuwe domein tot primair domein te promoveren voordat je het
verwijdert. Retourneert 202.
DELETE /api/sites/:site_id/domains/:id
SSL-certificaat vooraf inrichten (externe DNS)
Verkrijg een Bunny SSL-certificaat (optioneel wildcard) via een DNS-01-challenge voor een hostname waarvan de DNS elders wordt gehost — voordat je het naar SuperSpace wijst.
Vereist actieve CDN voor de site, anders 409 cdn_not_active. Scope:
sites:read voor status; de request/complete-stappen vereisen sites:write
en schrijf-/wijzigingsrechten op de site. De request/complete-stappen
proxyen een Bunny-aanroep — een upstream Bunny-fout retourneert 502.
De flow:
POST .../request_certificateretourneert een DNS-01 TXT-challenge die je bij je DNS moet toevoegen.- Voeg het TXT-record toe bij je DNS-provider.
POST .../complete_certificate— Bunny valideert en geeft het certificaat uit.
Certificaatstatus
GET /api/sites/:site_id/domains/:id/certificate
Geretourneerde params
- provision_type: String | null,
http01,dns01_external, ofcustom - wildcard: Boolean
- challenge: Object | null | het/de toe te voegen DNS-01 TXT-record(s) (terwijl in behandeling)
- requested_at: Timestamp | null
- issued_at: Timestamp | null
- active: Boolean
Certificaat aanvragen (stap 1)
POST /api/sites/:site_id/domains/:id/request_certificate
Params
- wildcard: Boolean
Retourneert de DNS-01 TXT-challenge die je bij je DNS moet toevoegen.
Certificaat voltooien (stap 2)
POST /api/sites/:site_id/domains/:id/complete_certificate
Roep aan zodra het TXT-record live is; Bunny valideert en geeft het certificaat uit.