Qeen.AI · Authentication Profile

Qeenai Authentication

Authentication

Qeen.AI secures its APIs with apiKey and cookie across 3 declared security schemes, as derived from its OpenAPI definitions.

CompanyArtificial IntelligenceMarketingE-CommerceAdvertisingMENAAnalyticsPersonalizationMobile SDKContent OptimizationSearchAttribution
Methods: apiKey, cookie Schemes: 3 OAuth flows: API key in: sdk-configuration

Security Schemes

MobileSDKApiKey apiKey
· in: sdk-configuration (apiKey)
WebSDKProjectBinding apiKey
· in: script-url (path segment: /qeen-script/{hash(pageUrl)}{hash(userDeviceId)})
CustomerPlatformSession cookie
· in: cookie ()

Source

Authentication Profile

qeenai-authentication.yml Raw ↑
generated: '2026-08-12'
method: searched
source: >-
  https://github.com/fodoole/qeen-mobile-sdk-ios (README + published .swiftinterface),
  https://github.com/fodoole/qeen-maven (README), https://cdn.qeen.ai/sdk/qeen.js,
  and live unauthenticated probes of https://users.qeen.ai/api/v1/* on 2026-08-12
docs: https://github.com/fodoole/qeen-mobile-sdk-ios#usage
note: >-
  Qeen publishes no OpenAPI, so nothing here is derived from a spec. Every scheme below is read
  from a first-party artifact the company distributes publicly (its SDK source, its SDK READMEs)
  or observed on a live unauthenticated request. Credentials themselves are NOT self-serve:
  both mobile READMEs state the host and API key "are shared privately by email — contact
  tech@qeen.ai", so there is no public key-issuance flow to document.

summary:
  types: [apiKey, cookie]
  api_key_in: [sdk-configuration]
  oauth2_flows: []
  oauth2: false
  openid_connect: false
  mutual_tls: false
  self_serve_credentials: false
  credential_request_channel: tech@qeen.ai

schemes:
  - name: MobileSDKApiKey
    type: apiKey
    in: sdk-configuration
    parameter: apiKey
    surface: Qeen Mobile Analytics SDK (iOS + Android)
    signature: 'QeenSDK.configure(apiKey: String, host: String, debug: Bool = false, options: [String: Any] = [:])'
    sources: [packages/qeenai-ios-sdk-interface.swiftinterface]
    note: >-
      The key is paired with a customer-provisioned `host` — the SDK has no default ingestion
      endpoint. The compiled framework binary names only PostHog's own asset hosts
      (us.i.posthog.com, eu.i.posthog.com and their asset siblings), consistent with the README's
      statement that PostHog is "baked INTO the framework and hidden"; the customer's `host` is
      the PostHog-compatible ingestion endpoint Qeen provisions for that account.
    key_prefix: null
    key_prefix_note: not published
    rotation: not documented

  - name: WebSDKProjectBinding
    type: apiKey
    in: script-url
    parameter: 'path segment: /qeen-script/{hash(pageUrl)}{hash(userDeviceId)}'
    surface: Qeen Web SDK loader (https://cdn.qeen.ai/loader/main.js)
    sources: [https://cdn.qeen.ai/loader/main.js, https://cdn.qeen.ai/sdk/qeen.js]
    note: >-
      The browser loader carries no secret. It derives a 7-character non-cryptographic hash (a
      djb2-style rolling hash, base-32, zero-padded) of the page URL and of a device id persisted
      in localStorage under "fodoole_uid", and requests the content-replacement script at
      fodoole-web-analytics-qfan6cresq-ew.a.run.app/qeen-script/{hash}. Project and website
      identity (projectId, websiteId, contentServingId) then arrive from the server in the client
      config rather than being embedded in the page. This is site-binding, not authentication —
      there is no bearer credential on the browser data plane.

  - name: CustomerPlatformSession
    type: cookie
    in: cookie
    surface: https://users.qeen.ai/api/v1/
    framework: Django REST Framework
    sources: [live probe]
    note: >-
      The customer web application (app.qeen.ai, a Nuxt SPA) calls its backend at users.qeen.ai
      with credentials:"include". Token lifecycle endpoints are POST /api/v1/auth/verify-token/
      and POST /api/v1/auth/refresh-token/. Unauthenticated requests to business endpoints return
      DRF's standard 401 body {"detail":"Authentication credentials were not provided."}. This is
      the product's own session surface, not a developer API — no key issuance, no scopes, no
      public documentation.
    evidence:
      - {url: 'https://users.qeen.ai/api/v1/core/websites', status: 401, body: '{"detail":"Authentication credentials were not provided."}'}
      - {url: 'https://users.qeen.ai/api/v1/subscriptions/products', status: 401, body: '{"detail":"Authentication credentials were not provided."}'}
      - {url: 'https://users.qeen.ai/api/v1/auth/verify-token/', status: 400, body: '{"valid":false,"message":"... Token is required. ..."}'}
      - {url: 'https://users.qeen.ai/api/v1/auth/verify-token/', method: GET, status: 405, body: '{"detail":"Method \"GET\" not allowed."}'}

unauthenticated_surfaces:
  - url: https://fodoole-web-analytics-qfan6cresq-ew.a.run.app/search-results
    status: 400
    body: '{"error":"Empty search query provided"}'
    note: >-
      Answers anonymously and validates input rather than rejecting on auth — the embedded search
      widget's backing endpoint takes no credential from the browser.
  - url: https://fodoole-web-analytics-qfan6cresq-ew.a.run.app/sdk/client-config
    status: 400
    body: 'Unsupported URL'
    note: Anonymous; requires site/page parameters the loader supplies.

not_found:
  - oauth2 authorization server
  - openid-connect discovery
  - scoped access tokens
  - public API key self-service / developer portal
  - mTLS

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/qeenai-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.