KORE Wireless · Authentication Profile
Kore Wireless Authentication
Authentication
KORE Wireless secures its APIs with oauth2, apiKey, and http across 3 declared security schemes, as derived from its OpenAPI definitions. OAuth 2.0 is offered via the clientCredentials flow(s).
TelecommunicationsUnited StatesIoTeSIMConnectivityMVNOSIM ManagementRoamingMessagingSMSDevice ManagementNetwork APIs
Methods: oauth2, apiKey, http
Schemes: 3
OAuth flows: clientCredentials
API key in: header
Security Schemes
Auth oauth2
· flows: clientCredentials
api_key apiKey
· in: header (x-api-key)
accountSid_authToken http
scheme: basic
Source
Authentication Profile
generated: '2026-07-25'
method: searched
source: openapi/kore-wireless-api-clients.yml, openapi/kore-wireless-connectivity-pro.yml,
openapi/kore-wireless-iam.yml, openapi/kore-wireless-programmable-wireless.yml,
openapi/kore-wireless-sms.yml, openapi/kore-wireless-supersim.yml, openapi/kore-wireless-webhook.yml
docs: https://docs.korewireless.com/developers/api-management/auth
client_docs: https://docs.korewireless.com/developers/api-management/api-clients
refresh_guide: https://docs.korewireless.com/developers/how-to/apis/refresh-api-access-token
summary:
primary: oauth2 client_credentials
types: [oauth2, apiKey, http]
api_key_in: [header]
oauth2_flows: [clientCredentials]
bearer_header: 'Authorization: Bearer {access_token}'
credential_unit: API Client (Client ID + Client Secret), created per account in the
console
primary_flow:
name: OAuth 2.0 Client Credentials (RFC 6749 section 4.4)
token_endpoint: https://api.korewireless.com/api-services/v1/auth/token
method: POST
content_type: application/x-www-form-urlencoded
parameters: [grant_type=client_credentials, client_id, client_secret]
example_request: |
curl -X POST https://api.korewireless.com/api-services/v1/auth/token \
--header 'cache-control: no-cache' \
--header 'content-type: application/x-www-form-urlencoded' \
--data "grant_type=client_credentials" \
--data "client_id=$KORE_CLIENT_ID" \
--data "client_secret=$KORE_CLIENT_SECRET"
response_shape: '{access_token, expires_in, token_type: Bearer, scope}'
token_format: RS256-signed JWT (iss/aud/sub/exp/iat/jti plus KORE claims account-id,
client-type, client_id, scopes)
expires_in_unit: seconds
expiry_options: [1 hour, 24 hours, 30 days, 24 months]
refresh: no refresh token — repeat the client-credentials exchange
spec: openapi/kore-wireless-token.yml
credentials:
where: API Client details in the KORE console (https://build.korewireless.com/clients/list)
client_secret_visibility: shown once at creation and never retrievable again
client_id_visibility: always visible
scoping: Client Type (Admin or Standard) plus selected Global Resources and Products
locking: a client can be locked so only Account Owner, Account Admins and the Client
Owner may edit it
per_account: a client targets exactly one account; child accounts each need their
own client
errors:
- {stage: token exchange, http: 401, body: '{"error":"unauthorized_client","error_description":"Invalid
client or Invalid client credentials"}'}
- {stage: API call, http: 403, body: '{"message":"User is not authorized to access
this resource with an explicit deny","error":"Invalid or expired token"}'}
schemes:
- name: Auth
type: oauth2
flows:
- {flow: clientCredentials, tokenUrl: 'https://api.korewireless.com/api-services/v1/auth/token',
scopes: 0}
sources:
- openapi/kore-wireless-api-clients.yml
- openapi/kore-wireless-connectivity-pro.yml
- openapi/kore-wireless-iam.yml
- openapi/kore-wireless-programmable-wireless.yml
- openapi/kore-wireless-sms.yml
- openapi/kore-wireless-supersim.yml
- openapi/kore-wireless-webhook.yml
status: current
- name: api_key
type: apiKey
in: header
parameter: x-api-key
sources: [openapi/kore-wireless-connectivity-pro.yml, openapi/kore-wireless-sms.yml]
status: declared in spec, not documented
note: >-
Both specs declare an x-api-key header scheme alongside the OAuth scheme. The
developer documentation describes only the OAuth 2.0 path, so treat the API key
as a legacy developer-portal artifact rather than a supported alternative.
- name: accountSid_authToken
type: http
scheme: basic
sources: [openapi/kore-wireless-supersim.yml]
status: legacy (Twilio IoT inheritance)
note: >-
The Super SIM spec retains the Twilio-era Account SID + Auth Token HTTP Basic
scheme next to the KORE OAuth scheme. Migration guidance moves callers to
KORE client credentials.
webhook_direction:
description: authenticity of KORE-to-customer callbacks is a separate contract —
KORE signs every event with the kore-signature header.
docs: https://docs.korewireless.com/developers/how-to/webhooks/validate-webhook-signatures
artifact: asyncapi/kore-wireless-event-streams-webhooks.yml
cross_links:
scopes: scopes/kore-wireless-scopes.yml
conventions: conventions/kore-wireless-conventions.yml
errors: errors/kore-wireless-error-codes.yml