Appearance
REST API
The REST API lets your other systems work with Mintrix: a billing system adds a subscriber and a device when a customer pays and renews the device when they pay again, a reseller's own portal lists its customers, a script checks which devices expire this week.
Everything goes through the same rules as the panel:
- A device is saved in Ministra first. If Ministra refuses, nothing changes in Mintrix.
- Credit is charged only once Ministra has taken the change, and never twice for a retried request.
- Device limits, the license's device limit and the plan's price apply.
- A reseller's key reaches only that reseller's records.
Availability
The REST API is in Mintrix 0.5.3 and later.
At a glance
| Address | https://<your Mintrix>/api/rest/v1 |
| Sign-in | An API key in the Authorization header: Bearer mtx_… |
| Format | JSON in and out; times in UTC (2026-11-17T19:00:00Z) |
| Rate | 120 requests a minute per key |
Quick start
In Mintrix, open Settings > API Keys and click New API Key. Give it a name, choose who it acts as and whether it may write. Copy the key: it is shown once. See API keys.
Ask who the key is:
shcurl https://panel.example.com/api/rest/v1/me \ -H "Authorization: Bearer mtx_your_key"json{ "key": { "name": "Billing", "access": "write", "expires_at": null }, "account": { "type": "operator", "id": 1, "name": "Admin" } }List the plans and add a device: Devices, or follow Connect your billing from start to end.
Endpoints
| Method | Path | |
|---|---|---|
GET | /me | The key and the account it acts as |
GET | /tariff-plans | Plans devices can be added and renewed on |
GET POST | /subscribers | List, add |
GET PATCH DELETE | /subscribers/{id} | Read, change, delete |
GET POST | /devices | List, add |
GET PATCH DELETE | /devices/{id} | Read, change (name, on/off, password), delete |
POST | /devices/{id}/renew | Renew on its plan or another |
Coming later: credit and its movements, webhooks (Mintrix calls your system when a device expires or is renewed) and managing resellers.
Versions
v1 stays as long as systems use it. A change that would break them goes into v2, served next to v1. New fields and endpoints are added to v1: ignore fields you do not know.