Account
Who the key acts for, the account's details and its dashboard.
- GET
/meWho the key acts for - GET
/accountAccount details - GET
/account/countriesCountries - PUT
/account/billingChange the billing contact - GET
/dashboardDashboard
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_idrequired | string (uuid) | |
customer_namerequired | string | |
display_namerequired | string | |
emailrequired | string | null | |
rolerequired | "customer_admin" | "technical" | "billing" | "readonly" | |
permissions | string[] | default [] |
support | object | null | |
staff_namerequired | string | |
staff_emailrequired | string | |
expires_atrequired | string (date-time) | |
customers | object[] | default [] |
idrequired | string (uuid) | |
namerequired | string | |
coderequired | string |
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
companyrequired | object | |
namerequired | string | |
vatrequired | string | |
emailrequired | string | |
phonerequired | string | |
websiterequired | string | |
addressrequired | object | |
street | string | up to 128 characters, default "" |
street2 | string | up to 128 characters, default "" |
zip | string | up to 16 characters, default "" |
city | string | up to 64 characters, default "" |
country_id | integer | null | |
country_name | string | default "" |
country_code | string | default "" |
billingrequired | object | |
separaterequired | boolean | |
namerequired | string | |
emailrequired | string | |
addressrequired | object | null | |
street | string | up to 128 characters, default "" |
street2 | string | up to 128 characters, default "" |
zip | string | up to 16 characters, default "" |
city | string | up to 64 characters, default "" |
country_id | integer | null | |
country_name | string | default "" |
country_code | string | default "" |
protectedrequired | boolean | |
can_edit_companyrequired | boolean | |
can_edit_billingrequired | boolean |
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
idrequired | integer | |
namerequired | string | |
code | string | default "" |
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)
separaterequired | boolean | |
name | string | up to 128 characters, default "" |
email | string | up to 254 characters, default "" |
address | object | null | |
street | string | up to 128 characters, default "" |
street2 | string | up to 128 characters, default "" |
zip | string | up to 16 characters, default "" |
city | string | up to 64 characters, default "" |
country_id | integer | null | |
country_name | string | default "" |
country_code | string | default "" |
Response 200
companyrequired | object | |
namerequired | string | |
vatrequired | string | |
emailrequired | string | |
phonerequired | string | |
websiterequired | string | |
addressrequired | object | |
street | string | up to 128 characters, default "" |
street2 | string | up to 128 characters, default "" |
zip | string | up to 16 characters, default "" |
city | string | up to 64 characters, default "" |
country_id | integer | null | |
country_name | string | default "" |
country_code | string | default "" |
billingrequired | object | |
separaterequired | boolean | |
namerequired | string | |
emailrequired | string | |
addressrequired | object | null | |
street | string | up to 128 characters, default "" |
street2 | string | up to 128 characters, default "" |
zip | string | up to 16 characters, default "" |
city | string | up to 64 characters, default "" |
country_id | integer | null | |
country_name | string | default "" |
country_code | string | default "" |
protectedrequired | boolean | |
can_edit_companyrequired | boolean | |
can_edit_billingrequired | boolean |
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
countsrequired | object | |
virtual_machinesrequired | integer | |
domainsrequired | integer | |
mailboxesrequired | integer | null | |
websitesrequired | integer | |
subnetsrequired | integer | |
dns_zones | integer | default 0 |
local_networks | integer | default 0 |
object_storage | integer | default 0 |
open_ticketsrequired | integer | null | |
outstanding_invoices_amountrequired | number | null | |
outstanding_invoices_currencyrequired | string | null | |
availabilityrequired | object | |
odoorequired | boolean | |
ispconfigrequired | boolean | null | |
proxmoxrequired | boolean | null | |
netboxrequired | boolean | null | |
billing_linked | boolean | default 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
}