Subscribers⚓︎
Path⚓︎
/v1/subs
The Subscriber refers to the User Equipment (UE) accessing the network, such as a cell phone with a SIM card.
Resource Attributes⚓︎
The attributes for the subscribers resource are detailed below:
| Attribute | Type | Required? | Description |
|---|---|---|---|
| imsi | String | YES | The unique IMSI value to identify the subscriber. |
| msisdn | String | YES | The phone number (MSISDN) associated with the subscriber. |
| k | String | NO | The secret key for the subscriber. Masked by default. |
| opc | String | NO | The Operator Code (OPC), used in authentication. Can be null. |
| iccid | String | NO | The Integrated Circuit Card Identifier (ICCID) of the SIM card. Can be null. |
| status | String | YES | The current status of the subscriber (e.g., Active or Inactive). |
| type | String | YES | The type of subscriber (e.g., Production). |
| systemProfile | String | YES | The system profile assigned to the subscriber (link). |
| roamingProfile | String | NO | The roaming profile assigned to the subscriber (link). |
| extensions | String | NO | A container for additional metadata or properties. |
Example⚓︎
{
"imsi": "206018123123123",
"msisdn": "+126018012345789",
"k": "###MASKED###",
"opc": null,
"iccid": null,
"status": "Active",
"type": "Production",
"systemProfile": "{baseUrl}/v1/system-profiles/123",
"roamingProfile": "{baseUrl}/v1/roaming-profiles/123",
"extensions": ""
}
Endpoints⚓︎
Search Requests⚓︎
Find a specific subscriber using search criteria:⚓︎
{baseUrl}/v1/subs/search/findByDeepSearch?search=<searchCriteria>
List subscribers belonging to a specific system:⚓︎
{baseUrl}/v1/subs/search/findBySystem?system=<systemName>
Find a specific subscriber by MSISDN:⚓︎
{baseUrl}/v1/subs/search/findByMsisdn?msisdn=<msisdnValue>
Search filters include:
- findByDeepSearch
- findByDeepSearchBrief
- findByFeature
- findByIccid
- findByMsisdn
- findBySite
- findBySystem
- findBySiteAndSystem
Create a New Subscriber⚓︎
Make a POST request to create a new subscriber:
{baseUrl}/v1/subs/
Example JSON body:
{
"imsi": "1232601012344251",
"msisdn": "+126018012345789",
"k": "yoursecretkey",
"opc": null,
"iccid": null,
"status": "Active",
"type": "Production",
"extensions": ""
}
Update Existing Attributes⚓︎
Make a PATCH request to update the attributes for a subscriber. Example:
{baseUrl}/v1/subs/<IMSI>
JSON body:
{
"status": "Inactive"
}
Delete a Subscriber⚓︎
Make a DELETE request to remove a subscriber:
{baseUrl}/v1/subs/<IMSI>
Bulk Import Subscribers⚓︎
Make a POST request to bulk import subscribers:
{baseUrl}/v1/subs/command/bulkImport
Input Parameters⚓︎
| Parameter | Type | Required? | Description |
|---|---|---|---|
| overwriteIfExisting | Boolean | YES | Overwrite existing subscribers if true. Default is false. |
| file | String | YES | The .out file containing SIM card data. |
| amf | String | NO | Authentication Management Field (4 hex digits). |
| op | String | NO | Operator Code (128-bit unique code). |
| system | String | YES | Target system name. |
| id | String | NO | Value assigned to the import batch. |
| systemProfile | String | NO | Name of the system profile. |
| keyset | String | NO | Name of the encryption keyset. |
| status | String | YES | Initial status (Active or Inactive). |
| extensions | Object | NO | Custom extension parameters (e.g., key-value pairs). |
Bulk Update Subscribers⚓︎
Make a POST request to apply the same update to multiple subscribers:
{baseUrl}/v1/subs/command/bulkUpdate
JSON body:
{
"status": "Active",
"subscribers": [
"123260331041372",
"123456234556627"
]
}
Bulk Delete Subscribers⚓︎
Make a POST request to bulk delete subscribers:
{baseUrl}/v1/subs/command/bulkDelete
JSON body:
{
"subscribers": [
"123260331041372",
"123456234556627"
]
}
GET all Subscribers for a System⚓︎
{baseUrl}/v1/subs/search/findBySystem?system=<systemID>
GET Subscriber Session Event Logs⚓︎
{baseUrl}/v1/subs/search/findByImsiWithSessionReport?searchString=<subscriberID>
Example:
curl --request GET \
--url 'http://api.example.com/v1/subs/search/findByImsiWithSessionReport?searchString=123302123091235' \
--header 'accept: application/hal+json'
GET the SMS History Report for a Subscriber⚓︎
{baseUrl}/v1/subs/search/smsCdrs?subscriber=<subscriberID>
Example:
curl --request GET \
--url 'http://api.example.com/v1/subs/search/smsCdrs?subscriber=123302123091235' \
--header 'accept: application/hal+json'
GET a List of Active/Inactive Subscribers⚓︎
Use findByDeepSearch with keywords active or inactive:
{baseUrl}/v1/subs/search/findByDeepSearch?searchString=active&projection=brief
{baseUrl}/v1/subs/search/findByDeepSearch?searchString=inactive&projection=brief
GET a List of Connected/Disconnected Subscribers⚓︎
Use findByDeepSearch with keywords connected or disconnected:
{baseUrl}/v1/subs/search/findByDeepSearch?searchString=connected&projection=brief
{baseUrl}/v1/subs/search/findByDeepSearch?searchString=disconnected&projection=brief