KORE API Clients API

The Client Management API creates, retrieves, and lists the API Clients that hold the credentials and settings for an integration with KORE. An API Client is the required gateway to every other KORE API — it issues the Client ID and Client Secret exchanged for an OAuth 2.0 access token.

OpenAPI Specification

kore-wireless-api-clients.yml Raw ↑
openapi: 3.0.1
info:
  title: Client APIs
  description: The Client Management APIs provide a comprehensive set of endpoints for managing clients within the system. These APIs facilitate operations such as creating, retrieving, updating, and deleting client information.
  version: 1.0.0
servers:
- url: https://client.api.korewireless.com
  description: PRODUCTION URL
tags:
- name: Clients
  description: These APIs enable users to perform various operations, including creating, retrieving, updating, and deleting client information. Through these APIs, users can interact with a wide range of client data, encompassing client IDs, secrets, account associations, ownership details, types, and lock status.
- name: Health
  description: ping health service
paths:
  /v1/clients:
    get:
      tags:
      - Clients
      summary: List Client
      description: List all active clients
      operationId: listClient
      parameters:
      - name: page_size
        in: query
        example: 10
        description: Enter the number of items you want to view per page.
        schema:
          type: integer
          format: int32
          minimum: 1
          exclusiveMinimum: true
        required: true
      - name: page_number
        in: query
        example: 1
        description: Input the page number you wish to navigate to.
        schema:
          type: integer
          format: int32
          minimum: 1
          exclusiveMinimum: true
        required: true
      - name: client_type
        in: query
        example: standard
        description: Type of the client
        schema:
          type: string
          enum:
          - admin
          - standard
        required: false
      - name: Authorization
        in: header
        description: JWT token for authentication
        schema:
          type: string
      responses:
        '200':
          description: 200 response
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Credentials:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/200GetClients'
        '400':
          description: Bad Request
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Credentials:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorised User
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Credentials:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Credentials:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: The specified resource was not found
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Credentials:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Server Error
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Credentials:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '502':
          description: Bad gateway
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Credentials:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: Service Unavailable
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Credentials:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '504':
          description: Gateway Timeout error
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Credentials:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    post:
      tags:
      - Clients
      summary: Create Client
      description: Create a new API client for the account for which the API credentials are for. Once created, the client ID and secret will be shown, the latter only shown once during the creation process.
      operationId: createClient
      parameters:
      - name: Authorization
        in: header
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateClient'
      responses:
        '201':
          description: 201 response
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Credentials:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/201CreateClient'
        '400':
          description: Bad Request
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Credentials:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized User
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Credentials:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Credentials:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: The specified resource was not found
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Credentials:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Server Error
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Credentials:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '502':
          description: Bad gateway
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Credentials:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: Service Unavailable
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Credentials:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '504':
          description: Gateway Timeout error
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Credentials:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /v1/clients/{client_id}:
    get:
      tags:
      - Clients
      summary: Get Client
      description: Get Specific Client Details
      operationId: getClient
      parameters:
      - name: client_id
        in: path
        required: true
        example: apiclient_01exampledszqr9q
        description: Client Identifier to obtain the details
        schema:
          type: string
      - name: Authorization
        in: header
        schema:
          type: string
      responses:
        '200':
          description: 200 response
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Credentials:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/200GetClient'
        '400':
          description: Bad Request
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Credentials:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorised User
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Credentials:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Credentials:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: The specified resource was not found
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Credentials:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Server Error
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Credentials:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '502':
          description: Bad gateway
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Credentials:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: Service Unavailable
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Credentials:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '504':
          description: Gateway Timeout error
          headers:
            Access-Control-Allow-Origin:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Credentials:
              schema:
                type: string
            Access-Control-Allow-Headers:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /v1/ping:
    get:
      tags:
      - Health
      summary: Gives Online Connection Status for API Gateway
      operationId: getPingStatus
      parameters:
      - name: Authorization
        in: header
        schema:
          type: string
      responses:
        '200':
          description: 200 response
          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:
                $ref: '#/components/schemas/Ping200'
        '404':
          description: The specified resource was not found
          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:
                $ref: '#/components/schemas/Error'
        '500':
          description: Server Error
          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:
                $ref: '#/components/schemas/Error'
components:
  securitySchemes:
    Auth:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://api.korewireless.com/api-services/v1/auth/token
          scopes: {}
  schemas:
    Error:
      type: object
      properties:
        status:
          type: integer
          format: int32
        message:
          type: string
        code:
          type: integer
          format: int32
        info:
          type: string
    Empty:
      type: object
    Client:
      type: object
      properties:
        client_id:
          type: string
          example: apiclient_01exampledszqr9q
          description: Unique identifier for the client.
        account_id:
          type: string
          example: acct_012example
          description: Identifier of the account to which the client belongs.
        name:
          type: string
          example: Test client
          description: Name of the client.
        client_owner:
          type: string
          example: test@acme.com
          description: Email address of the client owner. If not specified, defaults to the account owner's email.
        client_type:
          type: string
          example: standard
          enum:
          - admin
          - standard
          description: Type of the client, either 'admin' or 'standard'.
        locked:
          type: boolean
          example: true
          description: Indicates whether the client is locked. If true, the client is locked; if false, it is unlocked; if null, it has not been locked.
        date_created:
          type: string
          example: Fri, 05 Apr 2024 11:08:14 GMT
          description: Date and time when the client was created.
    200GetClient:
      type: object
      properties:
        client:
          $ref: '#/components/schemas/Client'
    200GetClients:
      type: object
      properties:
        meta:
          type: object
          properties:
            count:
              type: number
              example: 1
              description: Total number of clients returned in the response.
            page_number:
              type: number
              example: 1
              description: Current page number of the returned client list.
            page_size:
              type: number
              example: 10
              description: Number of clients per page in the returned client list.
            previous_page_url:
              type: string
              example: url
              description: Previous page url in client list.
            next_page_url:
              type: string
              example: url
              description: Next page url in client list.
        clients:
          type: array
          items:
            $ref: '#/components/schemas/Client'
    Ping200:
      type: object
      properties:
        status:
          type: string
    CreateClient:
      type: object
      properties:
        account_id:
          type: string
          example: acct_012example
          description: ID of the account the client belongs to. Defaults to the clientCred's account scope if not specified.
        name:
          type: string
          description: Name of the client.
        locked:
          type: boolean
          description: Specifies whether the client is locked or not. Can be true, false, or null.
        scopes:
          type: object
          properties:
            products:
              type: array
              items:
                type: string
                enum:
                - SuperSIM
                - ProgrammableWireless
                description: Name of the product resource.
                example: SuperSIM
      required:
      - name
      - locked
      - scopes
      example:
        account_id: acct_012example
        name: Example Client
        locked: false
        scopes:
          products:
          - SuperSIM
      additionalProperties: false
    201CreateClient:
      type: object
      properties:
        message:
          type: string
          description: A message indicating the status of the client creation process.
        client_id:
          type: string
          description: The unique identifier assigned to the newly created client.
        client_secret:
          type: string
          description: The unique identifier secret assigned to the newly created client.
        client_type:
          type: string
          enum:
          - standard
          description: Type of the client. This will always be 'standard'.
        account_id:
          type: string
          example: acct_012example
          description: ID of the account the client is for.
        name:
          type: string
          description: Name of the client.
        date_created:
          type: string
          format: date-time
          description: Date and time when the client was created.
        client_owner:
          type: string
          description: Email of the user who is the client owner.
        locked:
          type: boolean
          description: Specifies whether the client is locked or not.
security:
- {}
- Auth: []
x-hideTryItPanel: true