Service states
The state you see in the panel is in the state field; build your integration on state instead of status.
In every service response, status is the raw database status; the state you see in the panel is in the state field. Base your decisions on state.
state values
| state | Meaning |
|---|---|
preparing | Being provisioned at the provider. Becomes active shortly. |
active | Running. |
expiring | Running, with 7 days or less until it ends (ISP, Datacenter, Gaming). |
paused | Residential/Mobile has stopped ("Paused" in the panel). The reason and how to resume are in the pause_reason field. |
suspended | ISP, Datacenter or Gaming has stopped. With pause_reason: expired it can be renewed until grace_ends_at; with admin an administrator suspended it and it cannot be renewed. |
expired | Fully expired or cancelled. The panel hides these services; by default they don't appear in the API list either. |
pause_reason
The reason for the paused or suspended state. null in every other state.
| Value | Reason | What to do |
|---|---|---|
traffic_limit | The Residential/Mobile traffic limit was reached. | Raise or remove gb_limit. |
balance | The Residential/Mobile balance ran out. | Resumes on its own once you top up your balance. |
admin | An administrator suspended it. | Renewal, a limit change or a top-up does not lift it; contact support. |
expired | The period ended (ISP family). | Can be renewed with POST /orders/{id}/renew until grace_ends_at. |
Renewability
renewable tells you whether a POST /orders/{id}/renew request will be accepted. A fully expired service or one suspended by an administrator cannot be renewed and returns 409 conflict.
Days left
days_left is the number of whole days left, rounded down: with 27 hours left it is 1, with less than a day left it is 0. state tells you whether the service has ended, andexpires_at gives the exact end time. For services with no end date (pay as you go), days_left is null.