API-dokumentation

Brug Mahoje Hosting API'et til at styre din hosting programmatisk.

Autentificering

Send din API-nøgle i Authorization-headeren som Bearer-token:

Authorization: Bearer mhn_din-api-nøgle-her

Alle /api/v1/-kald kræver denne header. Mangler den, returnerer API'et 401 Unauthorized.

Opret eller tilbagekald nøgler under API-nøgler i dit panel.

Basis-URL

https://host.mahoje.dk/api/v1

Rate limiting

API'et er begrænset til 100 requests/minut pr. API-nøgle. Overskrides grænsen returneres 429 Too Many Requests.

Svarformat

Alle svar er JSON. Succes returnerer data direkte. Fejl returnerer {"error": "beskrivelse"}.

Endepunkter

GET /api/v1/account

Returnerer din kontoinfo: id, email, domæne, plan og oprettelsesdato.

Eksempel-svar:

{
  "id": 42,
  "email": "info@ditdomaene.dk",
  "domain": "ditdomaene.dk",
  "plan": "pro",
  "createdAt": "2024-01-15T10:30:00.000Z"
}

Fejlkoder: 401 (manglende/ugyldig nøgle)

GET /api/v1/mailboxes

Lister alle postkasser på din konto.

Eksempel-svar:

[
  { "address": "info@ditdomaene.dk", "quota": 10240, "status": "active" },
  { "address": "support@ditdomaene.dk", "quota": 10240, "status": "active" }
]

POST /api/v1/mailboxes

Opretter en ny postkasse.

Request-body:

{ "address": "ny@ditdomaene.dk", "password": "SikkertKodeord123!" }

Eksempel-svar (201):

{ "id": "mbox_abc123", "address": "ny@ditdomaene.dk" }

Fejlkoder: 400 (ugyldig adresse/kodeord), 403 (plan-grænse nået), 401

GET /api/v1/aliases

Lister alle aliasser på din konto.

Eksempel-svar:

[
  { "alias": "hej@ditdomaene.dk", "target": "info@ditdomaene.dk" }
]

POST /api/v1/aliases

Opretter et nyt alias.

Request-body:

{ "alias": "hej@ditdomaene.dk", "target": "info@ditdomaene.dk" }

Eksempel-svar (201):

{ "id": "alias_xyz789", "alias": "hej@ditdomaene.dk", "target": "info@ditdomaene.dk" }

Fejlkoder: 400 (ugyldigt format), 403 (grænse nået), 401

GET /api/v1/domains

Lister domæner og DNS-status.

Eksempel-svar:

[
  {
    "domain": "ditdomaene.dk",
    "status": "active",
    "mx": true,
    "spf": true
  }
]

Fejlkoder: 401