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

Raw ↑
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.

Work with this as data

Every security artifact 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 security posture

4 MCP tools reach this
  • find_securityBrowse and filter every security artifact in the catalog.
  • 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 security artifact
curl "https://apis.io/api/v1/security/webjet-authentication"
All security posture
curl "https://apis.io/api/v1/security?limit=25"

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

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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