Account

Who the key acts for, the account's details and its dashboard.

Who the key acts for

GET/me

Any key

The customer, the key's role, and permissions: what the key may do.

Response 200

customer_idrequiredstring (uuid)
customer_namerequiredstring
display_namerequiredstring
emailrequiredstring | null
rolerequired"customer_admin" | "technical" | "billing" | "readonly"
permissionsstring[]default []
supportobject | null
staff_namerequiredstring
staff_emailrequiredstring
expires_atrequiredstring (date-time)
customersobject[]default []
idrequiredstring (uuid)
namerequiredstring
coderequiredstring
curl "https://portal.nimag.net/api/v1/me" \
  -H "Authorization: Bearer nck_…"
{
  "customer_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "customer_name": "string",
  "display_name": "string",
  "email": "string",
  "role": "customer_admin",
  "permissions": [],
  "support": {
    "staff_name": "string",
    "staff_email": "string",
    "expires_at": "2026-01-31T12:00:00Z"
  },
  "customers": []
}

Account details

GET/account

Needs the permission account:read

Company details and billing contact, as Nimag invoices them.

Response 200

companyrequiredobject
namerequiredstring
vatrequiredstring
emailrequiredstring
phonerequiredstring
websiterequiredstring
addressrequiredobject
streetstringup to 128 characters, default ""
street2stringup to 128 characters, default ""
zipstringup to 16 characters, default ""
citystringup to 64 characters, default ""
country_idinteger | null
country_namestringdefault ""
country_codestringdefault ""
billingrequiredobject
separaterequiredboolean
namerequiredstring
emailrequiredstring
addressrequiredobject | null
streetstringup to 128 characters, default ""
street2stringup to 128 characters, default ""
zipstringup to 16 characters, default ""
citystringup to 64 characters, default ""
country_idinteger | null
country_namestringdefault ""
country_codestringdefault ""
protectedrequiredboolean
can_edit_companyrequiredboolean
can_edit_billingrequiredboolean
curl "https://portal.nimag.net/api/v1/account" \
  -H "Authorization: Bearer nck_…"
{
  "company": {
    "name": "string",
    "vat": "string",
    "email": "string",
    "phone": "string",
    "website": "string",
    "address": {
      "street": "",
      "street2": "",
      "zip": "",
      "city": "",
      "country_id": 0,
      "country_name": "",
      "country_code": ""
    }
  },
  "billing": {
    "separate": true,
    "name": "string",
    "email": "string",
    "address": {
      "street": "",
      "street2": "",
      "zip": "",
      "city": "",
      "country_id": 0,
      "country_name": "",
      "country_code": ""
    }
  },
  "protected": true,
  "can_edit_company": true,
  "can_edit_billing": true
}

Countries

GET/account/countries

Needs the permission account:read

Country codes accepted in addresses.

Response 200

idrequiredinteger
namerequiredstring
codestringdefault ""
curl "https://portal.nimag.net/api/v1/account/countries" \
  -H "Authorization: Bearer nck_…"
[
  {
    "id": 0,
    "name": "string",
    "code": ""
  }
]

Change the billing contact

PUT/account/billing

Needs the permission account:billing:manage

Where invoices are sent: the company's own address, or a separate contact.

Body (JSON)

separaterequiredboolean
namestringup to 128 characters, default ""
emailstringup to 254 characters, default ""
addressobject | null
streetstringup to 128 characters, default ""
street2stringup to 128 characters, default ""
zipstringup to 16 characters, default ""
citystringup to 64 characters, default ""
country_idinteger | null
country_namestringdefault ""
country_codestringdefault ""

Response 200

companyrequiredobject
namerequiredstring
vatrequiredstring
emailrequiredstring
phonerequiredstring
websiterequiredstring
addressrequiredobject
streetstringup to 128 characters, default ""
street2stringup to 128 characters, default ""
zipstringup to 16 characters, default ""
citystringup to 64 characters, default ""
country_idinteger | null
country_namestringdefault ""
country_codestringdefault ""
billingrequiredobject
separaterequiredboolean
namerequiredstring
emailrequiredstring
addressrequiredobject | null
streetstringup to 128 characters, default ""
street2stringup to 128 characters, default ""
zipstringup to 16 characters, default ""
citystringup to 64 characters, default ""
country_idinteger | null
country_namestringdefault ""
country_codestringdefault ""
protectedrequiredboolean
can_edit_companyrequiredboolean
can_edit_billingrequiredboolean
curl -X PUT "https://portal.nimag.net/api/v1/account/billing" \
  -H "Authorization: Bearer nck_…" \
  -H "Content-Type: application/json" \
  -d '{
    "separate": true,
    "name": "",
    "email": "",
    "address": {
      "street": "",
      "street2": "",
      "zip": "",
      "city": "",
      "country_id": 0,
      "country_name": "",
      "country_code": ""
    }
  }'
{
  "company": {
    "name": "string",
    "vat": "string",
    "email": "string",
    "phone": "string",
    "website": "string",
    "address": {
      "street": "",
      "street2": "",
      "zip": "",
      "city": "",
      "country_id": 0,
      "country_name": "",
      "country_code": ""
    }
  },
  "billing": {
    "separate": true,
    "name": "string",
    "email": "string",
    "address": {
      "street": "",
      "street2": "",
      "zip": "",
      "city": "",
      "country_id": 0,
      "country_name": "",
      "country_code": ""
    }
  },
  "protected": true,
  "can_edit_company": true,
  "can_edit_billing": true
}

Dashboard

GET/dashboard

Any key

Counts of services, the balance due and open tickets.

Response 200

countsrequiredobject
virtual_machinesrequiredinteger
domainsrequiredinteger
mailboxesrequiredinteger | null
websitesrequiredinteger
subnetsrequiredinteger
dns_zonesintegerdefault 0
local_networksintegerdefault 0
object_storageintegerdefault 0
open_ticketsrequiredinteger | null
outstanding_invoices_amountrequirednumber | null
outstanding_invoices_currencyrequiredstring | null
availabilityrequiredobject
odoorequiredboolean
ispconfigrequiredboolean | null
proxmoxrequiredboolean | null
netboxrequiredboolean | null
billing_linkedbooleandefault true
curl "https://portal.nimag.net/api/v1/dashboard" \
  -H "Authorization: Bearer nck_…"
{
  "counts": {
    "virtual_machines": 0,
    "domains": 0,
    "mailboxes": 0,
    "websites": 0,
    "subnets": 0,
    "dns_zones": 0,
    "local_networks": 0,
    "object_storage": 0,
    "open_tickets": 0,
    "outstanding_invoices_amount": 0,
    "outstanding_invoices_currency": "string"
  },
  "availability": {
    "odoo": true,
    "ispconfig": true,
    "proxmox": true,
    "netbox": true
  },
  "billing_linked": true
}