|
| 1 | +--- |
| 2 | +title: "Getting started with KORE ConnectivityPRO™ API" |
| 3 | +date: 2025-11-05 |
| 4 | +description: "This article covers the basics to start using the Kore Wireless ConnectivityPRO™ API, I hope this guide helps you onboard the API faster!" |
| 5 | +categories: ["KORE", "ConnectivityPRO™", "API"] |
| 6 | +tags: ["KORE", "ConnectivityPRO™", "API", "Connectivity", "How to", "Getting Started"] |
| 7 | +image: "KORE-LOGO-CONNECTIVITYPRO.jpeg" |
| 8 | +--- |
| 9 | + |
| 10 | + |
| 11 | + |
| 12 | +## Introduction |
| 13 | + |
| 14 | +Hi there, my name is **Vitor Ribeiro**, and I am a **Solutions Architect** at [**Kore Wireless**](http://korewireless.com). |
| 15 | +Part of my job includes onboarding customers on our [**Developer Portal**](http://developer-app.korewireless.com) for our [**Connectivity API**](https://developer-app.korewireless.com/api?product=Connectivity). |
| 16 | + |
| 17 | +This article covers some of the frequently asked questions related to our Connectivity API and how to get started. |
| 18 | + |
| 19 | + |
| 20 | +--- |
| 21 | + |
| 22 | +## Prerequisites |
| 23 | + |
| 24 | +You can view the [**Developer Portal API documentation**](http://developer-app.korewireless.com), but to view and manage your API keys, you must be contracted for **Kore Wireless ConnectivityPro™**. |
| 25 | +Otherwise, you won’t be able to see the **Authentication endpoint** described below. |
| 26 | + |
| 27 | +If you are **not** a Kore Wireless customer and are interested in our services, [contact us here](https://www.korewireless.com/contact-us/). |
| 28 | + |
| 29 | +You don’t need to be a software developer but should be familiar with what a **REST API** is. |
| 30 | +AWS has [this article](https://aws.amazon.com/what-is/restful-api/) on REST APIs that can help. |
| 31 | + |
| 32 | +For API calls, this article uses **Postman**. |
| 33 | +You can watch their [101 videos](https://www.youtube.com/watch?v=hISzpFJ5fPs) or view their [**webinar**](https://www.postman.com/events/intergalactic/) for a quick start. |
| 34 | + |
| 35 | +--- |
| 36 | + |
| 37 | +## Overview |
| 38 | + |
| 39 | +The [**Developer Portal**](http://developer-app.korewireless.com) is a public web page for customers, partners, and builders to integrate and leverage **Kore Wireless Services** through APIs. |
| 40 | + |
| 41 | +It enables Kore Wireless to manage all APIs from a single point — referred to as **KORE One™**. |
| 42 | + |
| 43 | +### Available APIs |
| 44 | + |
| 45 | +| API | Description | |
| 46 | +|------|-------------| |
| 47 | +| **Connectivity** | For ConnectivityPro™; manage SIM subscriptions. | |
| 48 | +| **Streaming** | For ConnectivityPro™; manage SIM subscriptions. | |
| 49 | + |
| 50 | +This article focuses on the [**Connectivity API**](https://developer-app.korewireless.com/api?product=Connectivity), which allows you to manage SIM subscriptions via API. |
| 51 | + |
| 52 | +--- |
| 53 | + |
| 54 | +## Why Use Kore’s API? |
| 55 | + |
| 56 | +If you are using carriers like [**Verizon**](https://thingspace.verizon.com/documentation/apis/connectivity-management/api-reference.html) or [**AT&T**](https://developer.cisco.com/docs/control-center/cisco-iot-control-center-overview/), your team would need to integrate multiple APIs — each with its own endpoints and structures. |
| 57 | + |
| 58 | + |
| 59 | + |
| 60 | +With **Kore Wireless**, you write code against **one unified API endpoint**. |
| 61 | +From that point forward, all service types available under your contract become accessible. |
| 62 | + |
| 63 | + |
| 64 | + |
| 65 | +--- |
| 66 | +## Introduction |
| 67 | + |
| 68 | +### Creating a Client |
| 69 | + |
| 70 | +Once you have access to the Developer Portal: |
| 71 | + |
| 72 | +1. Follow the [**Getting Started**](https://developer.korewireless.com/getting-started?id=2.1.1.5) guide to create your first client. |
| 73 | +2. Selecting the client will let you view your **Production** keys. |
| 74 | + |
| 75 | + |
| 76 | + |
| 77 | +--- |
| 78 | +### Getting an Authentication Token |
| 79 | + |
| 80 | +Source: [Developer Portal – Getting Started](https://developer.korewireless.com/getting-started?id=2.1.1.3) |
| 81 | + |
| 82 | +KORE uses the **OAuth 2.0 Client Credentials Workflow**. |
| 83 | + |
| 84 | +When you create a client, you receive: |
| 85 | + |
| 86 | +- **Client ID** – Unique identifier of your application |
| 87 | +- **Client Secret** – Used for secure API calls |
| 88 | +- **API Key** – Allows KORE to identify client access |
| 89 | + |
| 90 | +See below for a high-level overview. |
| 91 | + |
| 92 | + |
| 93 | + |
| 94 | +Using Postman, set up a POST request to https://api.korewireless.com/Api/api/token for Production. |
| 95 | + |
| 96 | +The body of your request must include: |
| 97 | + |
| 98 | +- The key **“grant_type”** key with a value of “client_credentials”. |
| 99 | +- The key **“client_id”** key with a value from the Developer Portal. |
| 100 | +- The key **“client_secret”** key with a value from the Developer Portal. |
| 101 | + |
| 102 | + |
| 103 | + |
| 104 | +You can also use **cURL** to get an authentication token, use the example below to perform a request. |
| 105 | + |
| 106 | +<pre style="background:#1e1e1e;color:#dcdcdc;padding:1em;border-radius:8px;"> |
| 107 | +<code> |
| 108 | +curl -L -X POST "https://api.korewireless.com/Api/api/token" \ |
| 109 | + -H "Content-Type: application/x-www-form-urlencoded" \ |
| 110 | + -d "grant_type=client_credentials" \ |
| 111 | + -d "client_id=[REPLACE_WITH_YOUR_INFO]" \ |
| 112 | + -d "client_secret=[REPLACE_WITH_YOUR_INFO]" |
| 113 | +</code> |
| 114 | +</pre> |
| 115 | + |
| 116 | +Here’s what the **cURL** returns: |
| 117 | + |
| 118 | + |
| 119 | + |
| 120 | +The authentication Token is valid for 10 hours, after 10 hours, you will need to call the authentication endpoint again for a new token. |
| 121 | + |
| 122 | +--- |
| 123 | + |
| 124 | +### Getting the account-id |
| 125 | + |
| 126 | +Most endpoints from the Connectivity API will require the **“account-id”** as part of the required fields; obtaining your **“account-id”** is essential to interface with Kore’s Connectivity API. |
| 127 | + |
| 128 | +Using Postman, setup a GET request to https://api.korewireless.com/connectivity/v1/accounts?email=<YOUR_EMAIL> |
| 129 | + |
| 130 | +Your GET request must include: |
| 131 | + |
| 132 | +- The key **“email”** with a value from the Developer Portal. |
| 133 | +- A valid Authentication token |
| 134 | +- **x-api-key** as part of your headers |
| 135 | + |
| 136 | + |
| 137 | + |
| 138 | +--- |
| 139 | + |
| 140 | +### Getting the activation-profile-id |
| 141 | + |
| 142 | +Using Postman, setup a GET request to https://api.korewireless.com/connectivity/v1/accounts/{account-id}/activation-profiles |
| 143 | + |
| 144 | +Your GET request must include: |
| 145 | + |
| 146 | +- The key **“account-id”** with a value from your previous call |
| 147 | +- A valid Authentication token |
| 148 | +- **x-api-key** as part of your headers |
| 149 | + |
| 150 | + |
| 151 | + |
| 152 | +--- |
| 153 | + |
| 154 | +## Managing your SIM subscriptions |
| 155 | + |
| 156 | +### Requesting details about a subscription |
| 157 | + |
| 158 | +Using Postman, setup a GET request to https://api.korewireless.com/connectivity/v1/accounts/{account-id}/subscriptions |
| 159 | + |
| 160 | +Your GET request must include: |
| 161 | + |
| 162 | +- The key **“account-id”** with a value from your previous call |
| 163 | +- A valid Authentication token |
| 164 | +- **x-api-key** as part of your headers |
| 165 | +- A query-string parameter, in my example, I will use the **EID** found on my SIM. |
| 166 | + |
| 167 | + |
| 168 | + |
| 169 | +--- |
| 170 | +### Activation |
| 171 | + |
| 172 | +Using Postman, setup a POST request to https://api.korewireless.com/connectivity/v1/accounts/{account-id}/provisioning-requests/activate |
| 173 | + |
| 174 | +Your POST request must include: |
| 175 | + |
| 176 | +- The key **“account-id”** with a value from your previous call |
| 177 | +- A valid Authentication token |
| 178 | +- **x-api-key** as part of your headers |
| 179 | +- A body containing the **Activate** schema |
| 180 | + |
| 181 | +In this example, my subscription state is set to **STOCK**, which is the default state once you place an order and sims are available on your account. |
| 182 | + |
| 183 | +I want to set my state as **test state**, this state allows a customer to perform a device/sim validation test while in the production line without turning the subscription into a billable item. |
| 184 | + |
| 185 | +<pre style="background:#1e1e1e;color:#dcdcdc;padding:1em;border-radius:8px;"> |
| 186 | +<code> |
| 187 | +{ |
| 188 | + "activate": { |
| 189 | + "activation-profile-id": "<YOUR_ACTIVATION_PROFILE>", |
| 190 | + "activation-state": "test", |
| 191 | + "subscriptions": [ |
| 192 | + { |
| 193 | + "subscription-id": "<YOUR_SUBSCRIPTION_ID>" |
| 194 | + } |
| 195 | + ] |
| 196 | + } |
| 197 | +} |
| 198 | +</code> |
| 199 | +</pre> |
| 200 | + |
| 201 | +You will be given 3 thresholds for a subscription, a data usage threshold, an SMS usage threshold, and a time threshold. Whichever it is triggered first, set the state to Active - billable. These terms are defined in your contract, you can discuss this with your Account Rep. |
| 202 | + |
| 203 | +For more information on States, read this [article.](https://korewireless.service-now.com/kb_view.do?sys_kb_id=659a58e397eae110d038301e6253af63) |
| 204 | + |
| 205 | +Response Sample: |
| 206 | + |
| 207 | +<pre style="background:#1e1e1e;color:#dcdcdc;padding:1em;border-radius:8px;"> |
| 208 | +<code> |
| 209 | +{ |
| 210 | + "status": "success", |
| 211 | + "data": { |
| 212 | + "provisioning-request-id": "cmp-cpro-request-9591174", |
| 213 | + "message": "Your request has been acknowledged" |
| 214 | + } |
| 215 | +} |
| 216 | +</code> |
| 217 | +</pre> |
| 218 | + |
| 219 | +--- |
| 220 | + |
| 221 | +## Considerations |
| 222 | + |
| 223 | +This article covered how to get an **Authentication Token**, how to obtain the **account-id**, how to get the **activation-profile-id**, how to get **subscription-id**, and how to **activate** a SIM. |
| 224 | + |
| 225 | +As shown, it is important that your headers include your **x-api-key**, a valid **auth token**, and an **account-id**. |
| 226 | + |
| 227 | +For activation, you must have your **subscription-id** first and your **activation-profile-id**. |
| 228 | + |
| 229 | +If you have any questions, don’t hesitate to reach out to me [here](mailto:vribeiro@korewireless.com). |
| 230 | + |
| 231 | +--- |
| 232 | +## Available Resources |
| 233 | + |
| 234 | +### Postman Collection |
| 235 | + |
| 236 | +Kore offers a Postman collection that enables you to validate the APIs without writing any code, alternatively, the Developer Portal documentation also includes the ability to call the endpoints, you must be logged into the Developer Portal to view this [Auth Section](https://developer-app.korewireless.com/api?product=Connectivity#auth). |
| 237 | + |
| 238 | + |
| 239 | + |
| 240 | +--- |
| 241 | +### Github |
| 242 | + |
| 243 | +Kore Wireless has a [GitHub repository](https://github.com/korewireless) containing code samples. You can view code samples related to the Connectivity API [here](https://github.com/korewireless/Developer-API). |
| 244 | + |
| 245 | + |
| 246 | + |
| 247 | +You can also read this article on Substack [here](https://vitorr.substack.com/p/getting-started-with-kore-wireless) |
0 commit comments