Worldia · Authentication Profile

Worldia Authentication

Authentication

Authentication profile for the Worldia production API, established by probing https://api.worldia.com anonymously on 2026-09-04. Worldia publishes no authentication documentation, no developer portal and no self-service signup, so this profile is read from live challenge responses rather than from a docs page.

Worldia declares 2 security scheme(s) across its OpenAPI definitions.

TravelTourismBookingTrip PlanningTravel TechnologyHospitalityB2B2CWhite LabelItineraryDistribution
Methods: Schemes: 2 OAuth flows: API key in:

Security Schemes

http
scheme: bearer · in: header ()
apiKey
· in: header ()

Source

Authentication Profile

worldia-authentication.yml Raw ↑
generated: '2026-09-04'
method: probed
source: https://api.worldia.com/customers
name: Worldia API Authentication
description: >-
  Authentication profile for the Worldia production API, established by probing
  https://api.worldia.com anonymously on 2026-09-04. Worldia publishes no authentication
  documentation, no developer portal and no self-service signup, so this profile is read
  from live challenge responses rather than from a docs page.
docs: null

schemes:
  - id: bearerJwt
    type: http
    scheme: bearer
    bearer_format: JWT
    in: header
    header: Authorization
    evidence:
      url: https://api.worldia.com/customers
      http_status: 401
      response_header: 'www-authenticate: Bearer'
      response_body: '{"code":401,"message":"JWT Token not found"}'
    implementation: >-
      The challenge string "JWT Token not found" is the default message of
      LexikJWTAuthenticationBundle, the Symfony JWT bundle that Worldia forks publicly in its
      own GitHub organization (github.com/worldia/LexikJWTAuthenticationBundle, alongside
      github.com/worldia/JWTRefreshTokenBundle). The refresh-token fork indicates a
      refresh-token flow exists behind the wall, though no refresh endpoint is publicly
      routed.
    token_endpoint: unknown
    token_endpoint_note: >-
      No token endpoint is publicly routed under the conventional names. POST to
      /authentication_token, /login_check, /api/login_check, /token, /oauth/token and
      /refresh_token all return 404. POST /login returns 400 rather than 404, so a route
      exists at that path, but no request shape is documented and none was guessed.

  - id: channelHeader
    type: apiKey
    in: header
    header: X-Channel
    role: tenant-selector
    is_credential: false
    evidence:
      url: https://api.worldia.com/inspirations
      http_status: 400
      detail: 'You must set the "X-Channel" header to a registered channel.'
    note: >-
      X-Channel is a required tenant discriminator, not a secret. It is explicitly NOT a
      credential: the complete set of 388 valid channel codes is readable anonymously at
      GET /channels, and supplying one grants access to the public catalogue surface without
      any token. It is recorded here because a caller cannot reach channel-scoped
      collections without it, so it belongs in any integration's request-signing path even
      though it carries no authorization weight.

oauth2:
  supported: false
  evidence: >-
    /.well-known/openid-configuration and /.well-known/oauth-authorization-server return 404
    on every Worldia host probed (worldia.com, www, corp, api, content, careers,
    experts-usa, static). No OAuth flow, authorization server or scope surface is published.
scopes:
  published: false
  artifact: null
  note: >-
    scopes/ is deliberately not written. The API is bearer-JWT authenticated with no OAuth2
    securityScheme and no published permission reference, so there is no scope surface to
    record; an empty scopes artifact would assert a structure Worldia does not have.

mtls:
  supported: unknown
openid_connect:
  supported: false

anonymous_surface:
  description: >-
    An unusually large read surface is reachable with no credential at all, which is worth
    recording because it is the only part of this API a third party can actually evaluate.
  collections:
    - path: /channels
      http_status: 200
      total_items: 388
      requires_channel_header: false
    - path: /locations
      http_status: 200
      requires_channel_header: false
      note: 'Verified via GET /locations?type=continent&promoted=true (10 items).'
    - path: /themes
      http_status: 200
      total_items: 24
      requires_channel_header: true
    - path: /accommodations
      http_status: 200
      total_items: 16943
      requires_channel_header: true
    - path: /inspirations
      http_status: 200
      total_items: 971
      requires_channel_header: true
    - path: /airports
      http_status: 200
      total_items: 0
      requires_channel_header: true
    - path: /contexts/{Type}
      http_status: 200
      requires_channel_header: false
      note: 'JSON-LD context documents; see json-ld/worldia-json-ld.yml.'
  authenticated_only:
    - path: /customers
      http_status: 401
      challenge: 'www-authenticate: Bearer'
    - path: /templates
      http_status: 403
      detail: 'Unable to access as unauthorized user'
  inconsistency_note: >-
    /customers rejects anonymous callers with 401 while /templates rejects them with 403.
    Both are anonymous requests, so both should be 401 under RFC 9110; a client cannot rely
    on the status code to decide whether to acquire a token or to give up.

access_model:
  self_service: false
  note: >-
    There is no signup, no key issuance page and no sandbox. Access is obtained through a
    commercial partnership — the only conversion path on corp.worldia.com is a HubSpot
    "Book a demo" form. See plans/worldia-plans-pricing.yml.

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/worldia-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 email required.

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