API Reference
The full interactive API reference is available via the built-in Swagger / OpenAPI explorer:
The explorer lets you browse every endpoint, inspect request/response schemas, and execute live API calls directly from your browser.
Base URL
https://app.zentarinetworks.com
All Endpoints
SIMs
| Method | Endpoint | Description |
|---|---|---|
GET | /api/sims | List SIMs |
GET | /api/sims/{id} | Get SIM by ID |
GET | /api/sims/{iccid} | Get SIM by ICCID |
PATCH | /api/sims/{id}/tag | Update SIM tag |
POST | /api/sims/{id}/queue-unprovision | Queue SIM to be unprovisioned at month end |
POST | /api/sims/{id}/queue-reprovision | Queue SIM to be reprovisioned at month end |
GET | /api/sims/{id}/watchdog-logs | Get SIM watchdog logs |
GET | /api/sims/metadata | Get SIM type and status codes |
Tickets
| Method | Endpoint | Description |
|---|---|---|
GET | /api/tickets | List all tickets |
GET | /api/tickets/{id} | Get a ticket |
DELETE | /api/tickets/{id} | Cancel a ticket |
POST | /api/tickets/activate | Activate a SIM |
POST | /api/tickets/suspend | Suspend a SIM |
POST | /api/tickets/refresh | Refresh SIM connection |
POST | /api/tickets/send-sms | Send SMS to a SIM |
POST | /api/tickets/provision | Provision an unassigned SIM |
GET | /api/tickets/metadata | Get ticket type and status codes |
Pools
| Method | Endpoint | Description |
|---|---|---|
GET | /api/pools | List pools |
POST | /api/pools | Create a pool |
GET | /api/pools/{id} | Get a pool |
PUT | /api/pools/{id} | Update pool settings |
DELETE | /api/pools/{id} | Delete a pool |
GET | /api/pools/{id}/sims | Get pool's SIMs |
GET | /api/pools/{id}/watchdog-logs | Get pool watchdog logs |
GET | /api/pools/metadata | Get pool type and status codes |
Orders
| Method | Endpoint | Description |
|---|---|---|
GET | /api/orders | Get order history |
POST | /api/orders | Create an order |
GET | /api/orders/{orderId} | Get an order |
DELETE | /api/orders/{orderId} | Cancel an order |
GET | /api/orders/pricing | Get available pricing |
GET | /api/orders/metadata | Get order type codes |
Tariffs
| Method | Endpoint | Description |
|---|---|---|
GET | /api/tariffs | List tariffs |
GET | /api/tariffs/{id} | Get a tariff |
GET | /api/tariffs/metadata | Get tariff type codes |
Events
| Method | Endpoint | Description |
|---|---|---|
GET | /api/events | List events |
GET | /api/events/{id} | Get an event |
GET | /api/events/metadata | Get event type and severity codes |
Metrics
| Method | Endpoint | Description |
|---|---|---|
GET | /api/metrics/estate-stats | Get estate-wide statistics |
Tenant
| Method | Endpoint | Description |
|---|---|---|
GET | /api/tenant | Get current tenant |
PATCH | /api/tenant/name | Update tenant name |
PATCH | /api/tenant/billing-email | Update billing email |
Watchdog
| Method | Endpoint | Description |
|---|---|---|
GET | /api/watchdog/logs | Get watchdog logs |
GET | /api/watchdog/metadata | Get log level and mode codes |
Response Format
All responses are application/json with UTF-8 encoding.
Paginated Response
{
"data": [ ... ],
"pagination": {
"page": 1,
"pageSize": 100,
"totalItems": 250,
"totalPages": 3,
"hasNextPage": true,
"hasPreviousPage": false
}
}
Error Response
{
"status": "Bad Request",
"error_code": 400,
"error_message": "Validation failed"
}
HTTP Status Codes
| Code | Meaning |
|---|---|
200 OK | Request succeeded |
204 No Content | Request succeeded with no response body |
400 Bad Request | Invalid request body or parameters |
401 Unauthorized | Missing or invalid API key |
403 Forbidden | Valid key but access denied |
404 Not Found | Resource not found |