SIMs
The SIM endpoints let you query your SIM estate, update tags, and queue provisioning changes.
Base URL
https://app.zentarinetworks.com
List SIMs
GET /api/sims
Returns a paginated list of SIMs in your estate.
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
search | string | — | Search by ICCID, IMSI, MSISDN, or tag |
status | integer | — | Filter by status code |
poolId | integer | — | Filter by pool ID |
page | integer | 1 | Page number |
pageSize | integer | 100 | Results per page (1–100) |
Response
{
"data": [ /* array of SIM objects */ ],
"pagination": {
"page": 1,
"pageSize": 100,
"totalItems": 42,
"totalPages": 1,
"hasNextPage": false,
"hasPreviousPage": false
}
}
Get SIM by ID
GET /api/sims/{id}
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id | integer (int64) | SIM ID |
Get SIM by ICCID
GET /api/sims/{iccid}
Path Parameters
| Parameter | Type | Description |
|---|---|---|
iccid | string | SIM ICCID |
SIM Object
Both GET endpoints return the same GetSimResponse shape:
| Field | Type | Description |
|---|---|---|
id | integer | SIM ID |
tag | string | User-defined label |
iccid | string | ICCID |
poolId | integer? | Assigned pool ID |
tariffId | integer? | Assigned tariff ID |
imsi | string | IMSI |
msisdn | string | MSISDN |
imei | string | Last seen IMEI |
status | integer | Status code — see /api/sims/metadata |
updatedAt | datetime | Last update timestamp |
provisionedAt | datetime? | Provisioning timestamp |
lastSeenAt | datetime? | Last network activity |
limitMB | double | Data limit in MB |
usageMB | double | Data used this cycle in MB |
remainingMB | double | Remaining data in MB |
isOverage | boolean | Whether SIM is in overage |
overageMB | double | Overage consumption in MB |
voiceMins | double | Voice minutes used |
smsCount | integer | SMS count |
type | integer | SIM type code — see /api/sims/metadata |
esimQrPayload | string? | eSIM activation payload (eSIMs only) |
esimQrDataUrl | string? | eSIM QR code as data URL (eSIMs only) |
pendingPoolId | integer? | Queued pool change |
pendingTariffId | integer? | Queued tariff change |
pendingUnassign | boolean | Whether SIM is queued to be unassigned |
watchdogMode | integer | Watchdog mode |
isWatchdogExempt | boolean | Whether watchdog is disabled for this SIM |
warningThresholdPct | integer? | Usage warning threshold (%) |
enableBurnRateAlerts | boolean? | Whether burn rate alerts are enabled |
processingTicket | boolean | Whether a ticket is currently processing |
processingTicketCount | integer | Number of tickets processing |
tariff | object | Embedded tariff details |
Update SIM Tag
PATCH /api/sims/{id}/tag
Set a custom label on a SIM. The tag can be up to 128 characters.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id | integer (int64) | SIM ID |
Request Body
{
"tag": "my-device-label"
}
Response
{ "id": 123456 }
Queue Unprovision
POST /api/sims/{id}/queue-unprovision
Schedules the SIM to be unprovisioned and removed from its pool at the end of the current billing month.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id | integer (int64) | SIM ID |
Response
{ "id": 123456 }
Queue Reprovision
POST /api/sims/{id}/queue-reprovision
Schedules the SIM to be reprovisioned into a different pool or tariff at the end of the current billing month.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id | integer (int64) | SIM ID |
Request Body
{
"poolId": 10,
"tariffId": 5
}
Both fields are optional — omit either to leave it unchanged.
Response
{ "id": 123456 }
Get SIM Watchdog Logs
GET /api/sims/{id}/watchdog-logs
Returns paginated watchdog log entries for a specific SIM.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id | integer (int64) | SIM ID |
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
searchTerm | string | — | Filter by message content |
date | datetime | — | Filter by date |
level | integer | — | Filter by log level |
page | integer | 1 | Page number |
pageSize | integer | 100 | Results per page (1–100) |
SIM Metadata
GET /api/sims/metadata
Returns the human-readable labels for SIM type and status integer codes.
Response
{
"type": [
{ "code": 0, "description": "Physical SIM" },
{ "code": 1, "description": "eSIM" }
],
"status": [
{ "code": 0, "description": "Unprovisioned" },
{ "code": 1, "description": "Active" }
]
}