KORE Wireless Session API

Customers of KORE having Radius Accounting integrated at carrier level will have session events collected at KORE. Session START and STOP events are correlated, and data is exposed as Session API for consumption. This API also provides the session count for any duration within the last 7 days.Typical use cases would be 1) UI showing recent sessions against a subscription-id or iccid or msisdn in a paginated fashion. 2) Fetch session count so to generate alarms when a defined threshold is crossed.

Operations 2

GET /v1/accounts/{account-id}/sessions Get Session Details
GET /v1/accounts/{account-id}/in-session Get Session Status

Documentation

Specifications

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/kore-wireless-session-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

kore-wireless-session-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Connectivity Session API
  description: Connectivity APIs help users manage their connectivity through APIs.
  version: 1.0.0
servers:
- url: https://api.korewireless.com/connectivity
  description: Production
security:
- {}
- Auth: []
- api_key: []
tags:
- name: Session
  description: Customers of KORE having Radius Accounting integrated at carrier level will have session events collected at KORE. Session START and STOP events are correlated, and data is exposed as Session API for consumption. This API also provides the session count for any duration within the last 7 days.Typical use cases would be 1) UI showing recent sessions against a subscription-id or iccid or msisdn in a paginated fashion. 2) Fetch session count so to generate alarms when a defined threshold is crossed.
paths:
  /v1/accounts/{account-id}/sessions:
    get:
      tags:
      - Session
      summary: Get Session Details
      description: Session details API queried by subscription-id or msisdn or iccid will return list of session details for a subscription. API will return an empty array in response if there are no RADIUS session details available for that subscription.
      responses:
        '200':
          description: 200 response
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    subscription-urn:
                      type: string
                      description: 'Subscription URN of the device '
                    session-data:
                      type: object
                      properties:
                        sessions:
                          type: array
                          items:
                            type: object
                            properties:
                              stop-time:
                                type: string
                                description: Session Stop Time
                              start-time:
                                type: string
                                description: Session Start Time
                              apn:
                                type: string
                                description: APN
                              session-id:
                                type: string
                                description: Session ID
                          description: List of sessions
                        sort:
                          type: array
                          items:
                            type: string
                          description: Denotes the sorting order of the results (Ascending or Descending)
                        page:
                          type: object
                          properties:
                            size:
                              type: integer
                              description: The result is paginated, the value denotes the page size
                            number:
                              type: integer
                              description: The result is paginated, the value denotes the page number
                          description: Response Data pagination details
                      description: Session Details
                    iccid:
                      type: string
                      description: 'ICCID of the device '
                    msisdn:
                      type: string
                      description: MSISDN of the device
                    session-count:
                      type: integer
                      description: Number of sessions within the given time period ( default 7 days)
                $$ref: '#/components/schemas/200GetSessionDetails0'
        '400':
          description: Bad Request
          headers:
            Access-Control-Allow-Origin:
              style: simple
              explode: false
              schema:
                type: string
            Access-Control-Allow-Methods:
              style: simple
              explode: false
              schema:
                type: string
            Access-Control-Allow-Credentials:
              style: simple
              explode: false
              schema:
                type: string
            Access-Control-Allow-Headers:
              style: simple
              explode: false
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                properties:
                  messages:
                    type: array
                    items:
                      type: string
                    description: Error Messages
                  error:
                    type: string
                    description: HTTP Reason-Phrase
                  timestamp:
                    type: string
                    format: date-time
                    description: Response Timestamp
                $$ref: '#/components/schemas/400GetSessionDetails0'
        '401':
          description: Unauthorised User
          headers:
            Access-Control-Allow-Origin:
              style: simple
              explode: false
              schema:
                type: string
            Access-Control-Allow-Methods:
              style: simple
              explode: false
              schema:
                type: string
            Access-Control-Allow-Credentials:
              style: simple
              explode: false
              schema:
                type: string
            Access-Control-Allow-Headers:
              style: simple
              explode: false
              schema:
                type: string
          content:
            application/json:
              schema:
                required:
                - error
                - message
                type: object
                properties:
                  error:
                    type: integer
                    format: int32
                  message:
                    type: string
                $$ref: '#/components/schemas/Error'
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Origin:
              style: simple
              explode: false
              schema:
                type: string
            Access-Control-Allow-Methods:
              style: simple
              explode: false
              schema:
                type: string
            Access-Control-Allow-Credentials:
              style: simple
              explode: false
              schema:
                type: string
            Access-Control-Allow-Headers:
              style: simple
              explode: false
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                $$ref: '#/components/schemas/xxx_Error'
        '404':
          description: The Specified Resource Was Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  messages:
                    type: array
                    items:
                      type: string
                    description: Error Messages
                  error:
                    type: string
                    description: HTTP Reason-Phrase
                  timestamp:
                    type: string
                    format: date-time
                    description: Response Timestamp
                $$ref: '#/components/schemas/404GetSessionDetails0'
        '409':
          description: Request Conflict
          headers:
            Access-Control-Allow-Origin:
              style: simple
              explode: false
              schema:
                type: string
            Access-Control-Allow-Methods:
              style: simple
              explode: false
              schema:
                type: string
            Access-Control-Allow-Credentials:
              style: simple
              explode: false
              schema:
                type: string
            Access-Control-Allow-Headers:
              style: simple
              explode: false
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  errorMessage:
                    type: string
                $$ref: '#/components/schemas/400_Error'
        '500':
          description: Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  path:
                    type: string
                    description: API endpoint
                  messages:
                    type: array
                    items:
                      type: string
                    description: Error Messages
                  error:
                    type: string
                    description: HTTP Reason-Phrase
                  timestamp:
                    type: string
                    format: date-time
                    description: Response Timestamp
                  status:
                    type: integer
                    description: HTTP response status code
                $$ref: '#/components/schemas/500GetSessionDetails0'
        '502':
          description: Bad Gateway
          headers:
            Access-Control-Allow-Origin:
              style: simple
              explode: false
              schema:
                type: string
            Access-Control-Allow-Methods:
              style: simple
              explode: false
              schema:
                type: string
            Access-Control-Allow-Credentials:
              style: simple
              explode: false
              schema:
                type: string
            Access-Control-Allow-Headers:
              style: simple
              explode: false
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                $$ref: '#/components/schemas/xxx_Error'
        '503':
          description: Service Unavailable
          headers:
            Access-Control-Allow-Origin:
              style: simple
              explode: false
              schema:
                type: string
            Access-Control-Allow-Methods:
              style: simple
              explode: false
              schema:
                type: string
            Access-Control-Allow-Credentials:
              style: simple
              explode: false
              schema:
                type: string
            Access-Control-Allow-Headers:
              style: simple
              explode: false
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                $$ref: '#/components/schemas/xxx_Error'
        '504':
          description: Gateway Timeout
          headers:
            Access-Control-Allow-Origin:
              style: simple
              explode: false
              schema:
                type: string
            Access-Control-Allow-Methods:
              style: simple
              explode: false
              schema:
                type: string
            Access-Control-Allow-Credentials:
              style: simple
              explode: false
              schema:
                type: string
            Access-Control-Allow-Headers:
              style: simple
              explode: false
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                $$ref: '#/components/schemas/xxx_Error'
      parameters:
      - name: query-by-field
        description: This field determines by which attribute session data to be queried. Session data can be queried by subscription-id or msisdn or iccid.
        in: query
        required: true
        schema:
          type: string
          enum:
          - subscription-id
          - ' msisdn'
          - ' iccid'
      - name: query-by-values
        description: This field expects one or more values up to 100 for the field selected in the query-by-field.
        in: query
        required: true
        schema:
          type: array
          items:
            type: string
      - name: include-active-sessions
        description: Include details of the active/open session in the response. Default value is false.
        in: query
        required: false
        schema:
          type: boolean
      - name: date-range-start
        description: Session count and session data can be queried for any duration within the last 7 days, and this field defines the start of duration. Value format should be ISO-8601 having milliseconds precision, e.g. 2020-05-30T22:38:23.085Z.
        in: query
        required: false
        schema:
          type: string
      - name: date-range-end
        description: Session count and session data can be queried for any duration within the last 7 days, and this field defines the end of duration. Value format should be ISO-8601 having milliseconds precision, e.g. 2020-05-30T23:38:00.000Z.
        in: query
        required: false
        schema:
          type: string
      - name: page-number
        description: Session data is paginated, and this field defines the page number to be queried.
        in: query
        required: false
        schema:
          type: number
          default: 1
      - name: page-size
        description: Session data is paginated, and this field defines the page size to be queried.
        in: query
        required: false
        schema:
          type: number
          default: 1
      - name: sort-by
        description: Session data can be sorted by startTime in ASC or DESC order. Value format should be field:order and default supported is startTime:DESC
        in: query
        required: false
        schema:
          type: string
      - required: true
        name: account-id
        in: path
        description: Unique identifier for an account
        schema:
          type: string
      x-code-samples:
      - lang: cURL
        label: cURL
        source: 'curl --location --globoff ''{{baseUrl}}/v1/accounts/{account-id}/sessions?query-by-field=<string>&query-by-values=<string>&query-by-values=<string>&include-active-sessions=<boolean>&date-range-start=<string>&date-range-end=<string>&page-number=1&page-size=1&sort-by=<string>'' \

          --header ''Accept: application/json'''
      - lang: js
        label: NodeJs
        source: "var request = require('request');\nvar options = {\n   'method': 'GET',\n   'url': '{{baseUrl}}/v1/accounts/{account-id}/sessions?query-by-field=<string>&query-by-values=<string>&query-by-values=<string>&include-active-sessions=<boolean>&date-range-start=<string>&date-range-end=<string>&page-number=1&page-size=1&sort-by=<string>',\n   'headers': {\n      'Accept': 'application/json'\n   }\n};\nrequest(options, function (error, response) {\n   if (error) throw new Error(error);\n   console.log(response.body);\n});\n"
      - lang: java
        label: Java
        source: "OkHttpClient client = new OkHttpClient().newBuilder()\n   .build();\nMediaType mediaType = MediaType.parse(\"text/plain\");\nRequestBody body = RequestBody.create(mediaType, \"\");\nRequest request = new Request.Builder()\n   .url(\"{{baseUrl}}/v1/accounts/{account-id}/sessions?query-by-field=<string>&query-by-values=<string>&query-by-values=<string>&include-active-sessions=<boolean>&date-range-start=<string>&date-range-end=<string>&page-number=1&page-size=1&sort-by=<string>\")\n   .method(\"GET\", body)\n   .addHeader(\"Accept\", \"application/json\")\n   .build();\nResponse response = client.newCall(request).execute();"
      - lang: cs
        label: C#
        source: "var options = new RestClientOptions(\"{{baseUrl}}/v1/accounts/{account-id}/sessions?query-by-field=<string>&query-by-values=<string>&query-by-values=<string>&include-active-sessions=<boolean>&date-range-start=<string>&date-range-end=<string>&page-number=1&page-size=1&sort-by=<string>\")\n{\n   MaxTimeout = -1,\n};\nvar client = new RestClient(options);\nvar request = new RestRequest(\"\", Method.Get);\nrequest.AddHeader(\"Accept\", \"application/json\");\nRestResponse response = await client.ExecuteAsync(request);\nConsole.WriteLine(response.Content);"
      - lang: PHP
        label: Php
        source: "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, array(\n   CURLOPT_URL => '{{baseUrl}}/v1/accounts/{account-id}/sessions?query-by-field=<string>&query-by-values=<string>&query-by-values=<string>&include-active-sessions=<boolean>&date-range-start=<string>&date-range-end=<string>&page-number=1&page-size=1&sort-by=<string>',\n   CURLOPT_RETURNTRANSFER => true,\n   CURLOPT_ENCODING => '',\n   CURLOPT_MAXREDIRS => 10,\n   CURLOPT_TIMEOUT => 0,\n   CURLOPT_FOLLOWLOCATION => true,\n   CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n   CURLOPT_CUSTOMREQUEST => 'GET',\n   CURLOPT_HTTPHEADER => array(\n   'Authorization: Bearer <YOUR BEARER TOKEN>',\n   'x-api-key: <YOUR API KEY>')\n   CURLOPT_HTTPHEADER => array(\n      'Accept: application/json'\n   ),\n));\n\n$response = curl_exec($curl);\n\ncurl_close($curl);\necho $response;\n"
      - lang: py
        label: Python
        source: "import requests\n\nurl = \"{{baseUrl}}/v1/accounts/{account-id}/sessions?query-by-field=<string>&query-by-values=<string>&query-by-values=<string>&include-active-sessions=<boolean>&date-range-start=<string>&date-range-end=<string>&page-number=1&page-size=1&sort-by=<string>\"\n\npayload = {}\nheaders = {\n   'Accept': 'application/json'\n}\n\nresponse = requests.request(\"GET\", url, headers=headers, data=payload)\n\nprint(response.text)\n"
      security:
      - {}
      - Auth: []
      - api_key: []
  /v1/accounts/{account-id}/in-session:
    get:
      tags:
      - Session
      summary: Get Session Status
      description: 'Get in-session status, that can be queried by subscription-id or msisdn or iccid. This API will return in session True/False based on the latest RADIUS event available. API will return an empty array in response if there are no RADIUS session events available for that subscription. '
      responses:
        '200':
          description: 200 response
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    subscription-id:
                      type: string
                      description: 'subscription-id of the device '
                    msisdn:
                      type: string
                      description: msisdn of the device
                    iccid:
                      type: string
                      description: 'iccid of the device '
                    in-session:
                      type: boolean
                      description: Current Session status of  the device
                    last-updated-time:
                      type: string
                      description: Timestamp of the most recent Session recorded
                $$ref: '#/components/schemas/200GetSessionStatus0'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  messages:
                    type: array
                    items:
                      type: string
                    description: Error Messages
                  error:
                    type: string
                    description: HTTP Reason-Phrase
                  timestamp:
                    type: string
                    format: date-time
                    description: Response Timestamp
                $$ref: '#/components/schemas/400GetSessionDetails0'
        '401':
          description: Unauthorised User
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                $$ref: '#/components/schemas/xxx_Error'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                $$ref: '#/components/schemas/xxx_Error'
        '404':
          description: The Specified Resource Was Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  path:
                    type: string
                    description: API endpoint
                  messages:
                    type: array
                    items:
                      type: string
                    description: Error Messages
                  error:
                    type: string
                    description: HTTP Reason-Phrase
                  timestamp:
                    type: string
                    format: date-time
                    description: Response Timestamp
                  status:
                    type: integer
                    description: HTTP response status code
                $$ref: '#/components/schemas/404GetSessionStatus0'
        '500':
          description: Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  path:
                    type: string
                    description: API endpoint
                  messages:
                    type: array
                    items:
                      type: string
                    description: Error Messages
                  error:
                    type: string
                    description: HTTP Reason-Phrase
                  timestamp:
                    type: string
                    format: date-time
                    description: Response Timestamp
                  status:
                    type: integer
                    description: HTTP response status code
                $$ref: '#/components/schemas/500GetSessionStatus0'
      parameters:
      - name: query-by-field
        description: This field determines by which attribute session data to be queried. Session data can be queried by subscription-id or msisdn or iccid.
        in: query
        required: true
        schema:
          type: string
          enum:
          - subscription-id
          - ' msisdn'
          - ' iccid'
      - name: account-id
        in: path
        description: The unique identifier of your account
        required: true
        style: simple
        explode: false
        schema:
          type: string
      - name: query-by-values
        description: This field expects one or more values up to 100 for the field selected in the query-by-field.
        in: query
        required: true
        schema:
          type: array
          items:
            type: string
      - name: include-session-timestamp
        description: Indicates whether the response should include the timestamp of the last updated session
        in: query
        required: false
        schema:
          type: boolean
      x-code-samples:
      - lang: cURL
        label: cURL
        source: 'curl --location --globoff ''{{baseUrl}}/v1/accounts/{account-id}/in-session?query-by-field=<string>&query-by-values=<string>&query-by-values=<string>&include-session-timestamp=<boolean>'' \

          --header ''Accept: application/json'''
      - lang: js
        label: NodeJs
        source: "var request = require('request');\nvar options = {\n   'method': 'GET',\n   'url': '{{baseUrl}}/v1/accounts/{account-id}/in-session?query-by-field=<string>&query-by-values=<string>&query-by-values=<string>&include-session-timestamp=<boolean>',\n   'headers': {\n      'Accept': 'application/json'\n   }\n};\nrequest(options, function (error, response) {\n   if (error) throw new Error(error);\n   console.log(response.body);\n});\n"
      - lang: java
        label: Java
        source: "OkHttpClient client = new OkHttpClient().newBuilder()\n   .build();\nMediaType mediaType = MediaType.parse(\"text/plain\");\nRequestBody body = RequestBody.create(mediaType, \"\");\nRequest request = new Request.Builder()\n   .url(\"{{baseUrl}}/v1/accounts/{account-id}/in-session?query-by-field=<string>&query-by-values=<string>&query-by-values=<string>&include-session-timestamp=<boolean>\")\n   .method(\"GET\", body)\n   .addHeader(\"Accept\", \"application/json\")\n   .build();\nResponse response = client.newCall(request).execute();"
      - lang: cs
        label: C#
        source: "var options = new RestClientOptions(\"{{baseUrl}}/v1/accounts/{account-id}/in-session?query-by-field=<string>&query-by-values=<string>&query-by-values=<string>&include-session-timestamp=<boolean>\")\n{\n   MaxTimeout = -1,\n};\nvar client = new RestClient(options);\nvar request = new RestRequest(\"\", Method.Get);\nrequest.AddHeader(\"Accept\", \"application/json\");\nRestResponse response = await client.ExecuteAsync(request);\nConsole.WriteLine(response.Content);"
      - lang: PHP
        label: Php
        source: "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, array(\n   CURLOPT_URL => '{{baseUrl}}/v1/accounts/{account-id}/in-session?query-by-field=<string>&query-by-values=<string>&query-by-values=<string>&include-session-timestamp=<boolean>',\n   CURLOPT_RETURNTRANSFER => true,\n   CURLOPT_ENCODING => '',\n   CURLOPT_MAXREDIRS => 10,\n   CURLOPT_TIMEOUT => 0,\n   CURLOPT_FOLLOWLOCATION => true,\n   CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n   CURLOPT_CUSTOMREQUEST => 'GET',\n   CURLOPT_HTTPHEADER => array(\n   'Authorization: Bearer <YOUR BEARER TOKEN>',\n   'x-api-key: <YOUR API KEY>')\n   CURLOPT_HTTPHEADER => array(\n      'Accept: application/json'\n   ),\n));\n\n$response = curl_exec($curl);\n\ncurl_close($curl);\necho $response;\n"
      - lang: py
        label: Python
        source: "import requests\n\nurl = \"{{baseUrl}}/v1/accounts/{account-id}/in-session?query-by-field=<string>&query-by-values=<string>&query-by-values=<string>&include-session-timestamp=<boolean>\"\n\npayload = {}\nheaders = {\n   'Accept': 'application/json'\n}\n\nresponse = requests.request(\"GET\", url, headers=headers, data=payload)\n\nprint(response.text)\n"
      security:
      - {}
      - Auth: []
      - api_key: []
components:
  securitySchemes:
    api_key:
      type: apiKey
      name: x-api-key
      in: header
    Auth:
      type: oauth2
      description: token expiry is given in seconds
      flows:
        clientCredentials:
          tokenUrl: https://api.korewireless.com/Api/api/token
          scopes: {}