Nakroteck

Important

New Nakroteck billing portal is live

We have moved client billing accounts to the new Nakroteck billing portal. Use the same email address on your Nakroteck account to sign in. If you have not set your password yet, choose Forgot password on the login page. If you already reset your password and can log in, no further action is needed.
Developer examples

API examples you can copy

Use these examples with the live reference at /developers/api. Protected calls require a bearer token and client context.

POST /api/v1/auth/login

Login and get a token

JSON body
{
  "email": "client@example.com",
  "password": "secret-password",
  "device_name": "Mobile app"
}
POST /api/v1/domains/check

Check a GH-family domain

JSON body
{
  "domain": "example.com.gh"
}
POST /api/v1/clients/{client}/orders

Create an invoice-first hosting order

Headers
Authorization: Bearer TOKEN
Idempotency-Key: order-20260425-001
JSON body
{
  "items": [
    {
      "type": "hosting",
      "package_id": 1,
      "billing_cycle": "annually",
      "domain": "example.com",
      "domain_option": "existing"
    }
  ],
  "payment_gateway": "paystack"
}
POST /api/v1/clients/{client}/invoices/{invoice}/payments/start

Start native Stripe payment for an invoice

Headers
Authorization: Bearer TOKEN
Idempotency-Key: pay-invoice-20260425-001
JSON body
{
  "gateway": "stripe",
  "save_card": false
}
POST /api/v1/clients/{client}/invoices/{invoice}/payments/start

Start Paystack payment for an invoice

Headers
Authorization: Bearer TOKEN
Idempotency-Key: paystack-invoice-20260425-001
JSON body
{
  "gateway": "paystack"
}
GET /api/v1/clients/{client}/invoices/{invoice}/payment-status

Check invoice payment status

Headers
Authorization: Bearer TOKEN
JSON body
No JSON body required.
POST /api/v1/clients/{client}/tickets

Create a support ticket

Headers
Authorization: Bearer TOKEN
JSON body
{
  "department_id": 1,
  "subject": "Need help with my hosting",
  "message": "Please help me check my hosting account.",
  "priority": "medium"
}
GET /api/v1/clients/{client}/dashboard

Load the client API dashboard

Headers
Authorization: Bearer TOKEN
JSON body
No JSON body required.