Traveloka · Authentication Profile

Traveloka Authentication

Authentication

Traveloka secures its APIs with oauth2, apiKey, and http across 0 declared security schemes, as derived from its OpenAPI definitions.

travelonline-travel-agencyaccommodationhotel-bookingflightsactivitieshospitalitydistributionchannel-manageropentravelsoutheast-asiaindonesia
Methods: oauth2, apiKey, http Schemes: 0 OAuth flows: API key in: header

Security Schemes

Source

Authentication Profile

Raw ↑
generated: '2026-08-05'
method: searched
source: >-
  https://developer.travelokapartnersnetwork.com/faq +
  https://developer.travelokapartnersnetwork.com/api-docs (LOKA API v2.4.8 OpenAPI) +
  https://atlas.traveloka.com/developers/docs/ (Traveloka Specification API) +
  https://developer.connect.traveloka.com/api-doc/credentials/url/
docs: https://developer.travelokapartnersnetwork.com/api-docs
summary:
  types: [oauth2, apiKey, http]
  api_key_in: [header]
  note: >-
    Three distinct Traveloka API surfaces use three distinct auth models. The published LOKA v2 OpenAPI
    declares its bearer credential as an apiKey-in-header scheme (an AWS API Gateway Lambda authorizer),
    but the documented way to MINT that credential is an OAuth 2.0 client-credentials exchange. Both
    facts are recorded below; neither is inferred.

apis:
  - api: Traveloka Partners Network (LOKA) v2 Accommodation API
    primary: oauth2_client_credentials
    token_endpoint: https://auth-api.afc.traveloka.com/oauth/accesstoken
    staging_token_endpoint: https://auth-api.afc.staging-traveloka.com/oauth/accesstoken
    method: POST
    request_media_type: application/x-www-form-urlencoded
    credential_fields: [client_id, client_secret]
    response_fields: [token_type, access_token, expires_in]
    response_schema: AccessToken
    token_lifetime_minutes: 60
    token_reuse: >-
      Reuse until expiry. The provider FAQ explicitly discourages minting a token per call.
    transport:
      header: Authorization
      location: header
      note: >-
        The spec models this as securityScheme api_gateway_lambda_authorizer (type apiKey, in header,
        name Authorization) fronted by an AWS API Gateway custom Lambda authorizer with a 1800-second
        authorizer result TTL.
    expiry_signal:
      status: 401
      code: '401'
      message: Unauthorized, the token might be expired.
      remediation: Re-issue via POST /oauth/accesstoken with the original client_id and client_secret.
    additional_scheme:
      name: sigv4
      type: apiKey
      in: header
      parameter: Authorization
      x-amazon-apigateway-authtype: awsSigv4
      note: >-
        Declared in components.securitySchemes but not applied to any operation in the published spec.
    scopes:
      declared: ['auth']
      note: >-
        The spec's root security requirement is [{"OAuthStaging": ["auth"]}] but "OAuthStaging" is not
        defined in components.securitySchemes - a dangling reference in the published document. No scope
        reference page is published, so no scopes/ artifact is emitted.
    credential_issuance:
      model: approval
      steps:
        - Choose a partnership model.
        - Register via the Become Partner form.
        - Formalize the partnership to receive unique site credentials.
        - Request certification from the Traveloka connectivity team.
        - Promote to the live environment.
      form: https://traveloka.sg.larksuite.com/share/base/form/shrlg7CyVohw5GHPRXwt8LdPCCW
      contact: partnersnetwork@traveloka.com
      self_serve: false

  - api: Traveloka Atlas - Traveloka Specification API (supplier-implemented)
    primary: http_basic
    scheme: basic
    format: base64(username:password)
    header: 'Authorization: Basic <base64>'
    transport_requirement: HTTPS on port 443
    direction: >-
      Inverted. Traveloka is the CLIENT; the accommodation supplier hosts these endpoints and validates
      the Basic credential Traveloka presents.
    source_scheme: basicAuth
    sources: [openapi/traveloka-atlas-supplier-api-openapi.yml]

  - api: Traveloka Connect - Connectivity API (OTA 2017B XML)
    primary: partner_credentials
    base_url: https://api.connect.traveloka.com/
    staging_base_url: https://api.connect.staging-traveloka.com/
    issuance:
      staging: Credentials issued after NDA signing.
      production: Credentials issued after certification.
      contact: tera-cm@traveloka.com
      channels: [Lark, Email, Teams]
    note: >-
      The credential mechanism itself is documented behind the developer.connect.traveloka.com login; the
      public surface documents only the issuance process, base URLs, and OTA message set.
    self_serve: false

access_model:
  onboarding: approval
  pricing: enterprise
  public: false
  try_now: false
  confidence: high
  evidence: >-
    No self-serve signup exists for any of the three surfaces. Every path requires a partnership form,
    contract and certification before credentials are issued.

cross_links:
  conventions: conventions/traveloka-conventions.yml
  sandbox: sandbox/traveloka-sandbox.yml
  errors: errors/traveloka-problem-types.yml
  conformance: conformance/traveloka-conformance.yml