Skip to content

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 ​

Addresshttps://<your Mintrix>/api/rest/v1
Sign-inAn API key in the Authorization header: Bearer mtx_…
FormatJSON in and out; times in UTC (2026-11-17T19:00:00Z)
Rate120 requests a minute per key

Quick start ​

  1. 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.

  2. Ask who the key is:

    sh
    curl 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" }
    }
  3. List the plans and add a device: Devices, or follow Connect your billing from start to end.

Endpoints ​

MethodPath
GET/meThe key and the account it acts as
GET/tariff-plansPlans devices can be added and renewed on
GET POST/subscribersList, add
GET PATCH DELETE/subscribers/{id}Read, change, delete
GET POST/devicesList, add
GET PATCH DELETE/devices/{id}Read, change (name, on/off, password), delete
POST/devices/{id}/renewRenew 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.

Integrated media software