Webjet · Authentication Profile
Webjet Authentication
Authentication
Webjet secures its APIs with http and apiKey across 3 declared security schemes, as derived from its OpenAPI definitions.
TravelAustraliaOTAAviationBookingDistributionFlight SearchCar RentalNew ZealandTravel Technology
Methods: http, apiKey
Schemes: 3
OAuth flows:
API key in: header
Security Schemes
TokenAuthentication http
scheme: Token
· in: header ()
BasicAuthentication http
scheme: basic
· in: header ()
SDKClientCredentials apiKey
· in: header ()
Source
Authentication Profile
generated: '2026-07-28'
method: searched
source: >-
https://devhub.tripninja.io/smartflights/authentication/ (rendered from
devhub.tripninja.io/assets/index-8odYpnZf.js),
openapi/webjet-tripninja-adminpanel-refresh-token-openapi.yml,
https://github.com/trip-ninja-inc/tn-sdk-python (src/tn_sdk/core/tn_api.py, utils/constants.py)
docs: https://devhub.tripninja.io/smartflights/authentication/
summary:
types: [http, apiKey]
api_key_in: [header]
oauth2_flows: []
openid_connect: false
mutual_tls: false
note: >-
Trip Ninja publishes NO OAuth 2.0 and NO OpenID Connect. Nothing in the seventeen harvested
OpenAPI documents declares a components.securitySchemes block at all — the auth contract lives
only in the prose docs and in the first-party SDK source. There are consequently no OAuth scopes
and no scopes/ artifact for this provider.
schemes:
- name: TokenAuthentication
type: http
scheme: Token
in: header
header: Authorization
format: 'Authorization: Token <access_token>'
example: 'headers = {"Authorization": "Token " + api_key}'
applies_to:
- SmartFlights (v3)
- FareStructure (v2, deprecated)
- Virtual Interlining (v2, deprecated)
- DataStream
token_lifetime: 90 days from created_date
issuance: >-
Minted by a human in the Trip Ninja Admin Panel (app.tripninja.io) under Developer Resources.
There is no self-serve signup; an admin panel username and password is issued by Trip Ninja.
refresh:
operation: POST /adminpanel/refresh-token/
spec: openapi/webjet-tripninja-adminpanel-refresh-token-openapi.yml
request: {access_token: required, refresh_token: required}
response_fields: [access_token, refresh_token, expiry_date, created_date, is_production_token, is_datastream_token]
refresh_token_lifetime: indefinite until regenerated; using one issues a new refresh_token
environment_flags:
is_production_token: false = sandbox-only credentials
is_datastream_token: false = SmartFlights credentials (true = DataStream)
docs: https://devhub.tripninja.io/smartflights/authentication/
sources: [https://devhub.tripninja.io/smartflights/authentication/, openapi/webjet-tripninja-adminpanel-refresh-token-openapi.yml]
- name: BasicAuthentication
type: http
scheme: basic
in: header
header: Authorization
format: 'Authorization: Basic base64(USERNAME:PASSWORD)'
example: 'auth = base64.b64encode("USERNAME:PASSWORD"); headers = {"authorization": "Basic "+ auth}'
applies_to: [SmartFlights, FareStructure, Virtual Interlining]
note: >-
Verbatim from the docs — "SmartFlights API uses both Basic Authentication and Token Authentication
standards. Depending on how you signed up for your account, you will need to use one or the other.
If you signed up through our admin panel please follow the Token Authentication steps. Otherwise,
please follow the Basic Authentication steps." Not offered for DataStream.
sources: [https://devhub.tripninja.io/smartflights/authentication/]
- name: SDKClientCredentials
type: apiKey
in: header
header_names: [X-Client-ID, X-Client-Secret]
token_endpoint: POST /sdk/auth/
base_urls:
production: https://api.tripninja.io
sandbox: https://sandbox.tripninja.io
returns: >-
A credentials document keyed by token type — sandbox_token, prod_token, data_stream_token — which
the SDK then presents as "Authorization: Token <token>" on every subsequent call. On a 401 the SDK
re-fetches credentials and retries once.
env_vars: [TN_SDK_CLIENT_ID, TN_SDK_CLIENT_SECRET]
credential_cache: credentials.json on local disk (atomic write)
status: >-
Undocumented on the developer hub — discovered in the first-party SDK source. /sdk/auth/ appears in
no published OpenAPI document.
sources:
- https://github.com/trip-ninja-inc/tn-sdk-python/blob/master/src/tn_sdk/utils/constants.py
- https://github.com/trip-ninja-inc/tn-sdk-python/blob/master/src/tn_sdk/core/tn_api.py
network_gate:
ip_allowlisting: true
quote: >-
"For security, Trip Ninja's servers are only accessible from whitelisted IPs. Please contact your
account manager to whitelist the IPs you will be using."
effect: >-
A valid token is not sufficient. Every API host (sandbox.tripninja.io, preprodapi.tripninja.io,
api.tripninja.io) returns 403 to any source IP that has not been allow-listed by Trip Ninja.
consumer_brands:
webjet_ota: No public API and no published authentication surface.
gosee_airport_rentals: No public API.
gosee_motorhome_republic: No public API.