ZaiNar · Authentication Profile
Zainar Authentication
Authentication
ZaiNar secures its APIs with http across 3 declared security schemes, as derived from its OpenAPI definitions.
CompanyLocationPositioningNavigationTimingWirelessReal-Time LocationAsset TrackingIoTPhysical AI
Methods: http
Schemes: 3
OAuth flows:
API key in:
Security Schemes
zainarToken http
scheme: bearer
· in: header (Authorization)
zainarServiceKey http
scheme: other
· in: header (Authorization)
zpsSessionCookie apiKey
· in: cookie (__session)
Source
Authentication Profile
generated: '2026-08-02'
method: derived
source: https://github.com/zainar/locate-latency-measurement-script
source_files:
- rest_client.py
- env_config.example.json
- README.md
note: 'ZaiNar publishes no OpenAPI definition and no public authentication documentation.
This profile is DERIVED from ZaiNar''s own open-source client (github.com/zainar),
which implements the real authentication flow against the production Wi-Fi location
cloud. Nothing here is invented; every field traces to a line in that first-party
repository. Access is credential-gated — ZaiNar issues usernames and passwords to
customers; there is no public sign-up.'
summary:
types: [http]
api_key_in: []
oauth2_flows: []
public_signup: false
self_service: false
schemes:
- name: zainarToken
type: http
scheme: bearer
in: header
parameter: Authorization
description: 'Opaque API token issued by the platform''s own token endpoint and
sent verbatim in the Authorization request header on every subsequent call.'
sources: ['https://github.com/zainar/locate-latency-measurement-script/blob/main/rest_client.py']
- name: zainarServiceKey
type: http
scheme: other
in: header
parameter: Authorization
description: 'Alternate machine-to-machine credential (SERVICE_KEY) supported by
the client in place of an interactive token; format is not published.'
sources: ['https://github.com/zainar/locate-latency-measurement-script/blob/main/rest_client.py']
- name: zpsSessionCookie
type: apiKey
in: cookie
parameter: __session
description: 'JWT session cookie issued by the ZaiNar Positioning System (ZLP) web
console at zps.zainartech.com; used to authenticate the Socket.IO real-time
location stream. Browser-session credential, not a documented API credential.'
sources: ['https://github.com/zainar/locate-latency-measurement-script/blob/main/README.md']
token_flow:
grant: password
endpoint: POST {baseURL}/authenticate
request_body: {username: string, password: string}
response_body: {token: string}
unauthenticated: true
presentation: 'Authorization: <token>'
refresh_interval_seconds: 1200
refresh_note: 'The first-party client refreshes the token every 20 minutes (TOKEN_REFRESH
= 20 * 60) and caches it on disk between runs; the server-side expiry is not published.'
environments:
- name: prod-us
base_url: https://api.wifi-prd-us.zainar.net/pipeline/r/api/v2/client
production: true
- name: prod-apac
base_url: https://api.wifi-prd-jpn.zainar.net/pipeline/r/api/v2/client
production: true
- name: int
base_url: https://api.wifi-int.zainar.net/pipeline/r/api/v2/client
production: false
- name: dev
base_url: https://api.wifi-dev.zainar.net/pipeline/r/api/v2/client
production: false
gaps:
- No public authentication documentation page.
- No OAuth 2.0 or OpenID Connect surface; no /.well-known/openid-configuration or
/.well-known/oauth-authorization-server on any host (see well-known/zainar-well-known.yml).
- No scopes or permissions model published — scopes/ is intentionally absent.
- Token lifetime and revocation semantics are not published.
x-evidence:
fetched: '2026-08-02'
url: https://raw.githubusercontent.com/zainar/locate-latency-measurement-script/main/rest_client.py
http_status: 200