Vidjet · Authentication Profile

Vidjet Authentication

Authentication

Vidjet secures its APIs with none and apiKey across 4 declared security schemes, as derived from its OpenAPI definitions.

CompanyE-CommerceVideoShoppable VideoShopifyConversionMarketingNo-CodeWidgetsEmbed
Methods: none, apiKey Schemes: 4 OAuth flows: API key in: query, body

Security Schemes

none none
siteId apiKey
· in: query (siteId)
authToken apiKey
· in: body (integrationKeys.authToken)
woocommerce-auth-callback oauth-like-handshake

Source

Authentication Profile

vidjet-authentication.yml Raw ↑
generated: '2026-08-13'
method: derived
source: >-
  wordpress.org/plugins/vidjet (includes/class-vidjet-api.php,
  includes/class-vidjet-settings.php, v1.1.4) + media.vidjet.io/client-app.js +
  live unauthenticated probes of app-api.vidjet.io on 2026-08-13
note: >-
  Vidjet publishes no authentication documentation. There is no OpenAPI to derive
  securitySchemes from, so this profile is derived from the two first-party
  artifacts Vidjet does publish (the GPL WordPress plugin source and the public
  embed script) plus what the live API returned to anonymous requests. Nothing
  here is inferred from naming or convention.
docs: null
summary:
  types: [none, apiKey]
  documented_by_provider: false
  oauth2: false
  openid_connect: false
  mutual_tls: false
  api_key_in: [query, body]
schemes:
- name: none
  type: none
  applies_to:
  - GET /widgets
  evidence: >-
    GET https://app-api.vidjet.io/widgets returned HTTP 200 with
    application/json and no credential of any kind on 2026-08-13. With no siteId
    it returned a default test site record; with an unknown siteId it returned
    200 and an empty site object. Read access to the campaign-resolution endpoint
    is anonymous by design — it is called from the browser by the embed script.
- name: siteId
  type: apiKey
  in: query
  parameter: siteId
  format: UUID v4
  secret: false
  evidence: >-
    The documented embed snippet is
    media.vidjet.io/client-app.js?siteId=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx and
    the script forwards it as GET ${backend}/widgets?siteId=... . It is a public
    tenant identifier shipped in page source, not a credential.
  note: >-
    Because it is embedded in every customer's HTML, siteId must be treated as
    public. It selects a tenant; it does not authorize anything.
- name: authToken
  type: apiKey
  in: body
  parameter: integrationKeys.authToken
  secret: true
  evidence: >-
    Vidjet_Api::install() POSTs to /plugins/install and, on HTTP 200, stores
    `siteId` and `authToken` from the response via
    Vidjet_Settings::set_settings(); the plugin persists them in a WordPress
    option. The pair is also accepted on the way in as
    body.integrationKeys.{siteId,authToken} when re-installing.
  issued_by: POST https://app-api.vidjet.io/plugins/install
  rotation: not documented
  scopes: none published
- name: woocommerce-auth-callback
  type: oauth-like-handshake
  applies_to:
  - POST /woocommerce/auth-callback
  evidence: >-
    The plugin registers https://app-api.vidjet.io/woocommerce/auth-callback as
    the return endpoint of the WooCommerce REST API key-generation flow, so
    Vidjet receives WooCommerce consumer credentials for the merchant store.
    OPTIONS on that path returned 200 with `Allow: POST`.
  note: >-
    This is WooCommerce's authorization handshake, not a Vidjet OAuth server.
    Vidjet publishes no authorization or token endpoint of its own — every
    /.well-known/oauth-authorization-server and /.well-known/openid-configuration
    probe on every Vidjet host returned 404 or 403.
transport:
  https_only: true
  observed_headers:
    access-control-allow-origin: '*'
    access-control-allow-methods: PUT, POST, GET, DELETE, OPTIONS
    access-control-allow-headers: Origin, X-Requested-With, Content-Type, Accept
  note: >-
    CORS is fully open on app-api.vidjet.io, consistent with an API designed to be
    called from arbitrary merchant storefronts.
gaps:
- No published authentication documentation of any kind.
- No documented way for a merchant to obtain an API credential outside of installing a platform plugin.
- No scopes, no token expiry, no rotation or revocation policy published.

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