OptinMonster · Authentication Profile
Optinmonster Authentication
Authentication
OptinMonster declares 0 security scheme(s) across its OpenAPI definitions.
CompanyLead GenerationMarketingConversion OptimizationEmail MarketingPopupsWordPressWebhookSoftware-as-a-ServiceMarketing Automation
Methods:
Schemes: 0
OAuth flows:
API key in:
Security Schemes
Source
Authentication Profile
generated: '2026-08-12'
method: searched
source: >-
https://optinmonster.com/docs/how-the-optinmonster-api-key-works-with-wordpress/ ;
https://plugins.svn.wordpress.org/optinmonster/trunk/OMAPI/Api.php ;
live OPTIONS preflight against https://api.optinmonster.com/v2/campaigns
docs: https://optinmonster.com/docs/how-the-optinmonster-api-key-works-with-wordpress/
note: >-
OptinMonster publishes no OpenAPI, so this profile is assembled from three real sources: the
help-center API-key article, the first-party WordPress plugin source (OMAPI/Api.php, which builds
every request the vendor's own client makes), and a live CORS preflight whose
`access-control-allow-headers` enumerates every credential header the API accepts. There is no
OAuth 2.0 and no OpenID Connect surface anywhere on the platform — key auth only — so no
scopes/ artifact is emitted.
summary:
schemes: 2
primary: api-key-header
oauth2: false
openid_connect: false
mtls: false
scopes: false
securitySchemes:
- id: apiKeyHeader
type: apiKey
in: header
name: X-OptinMonster-ApiKey
primary: true
description: >-
The account API key, issued in the OptinMonster app under My Account > API. Sent on every
request as the `X-OptinMonster-ApiKey` header. The API may also return this header on a
response, which the WordPress plugin captures to upgrade a legacy credential pair to a key.
evidence:
- source: plugin-source
detail: "OMAPI/Api.php line 260: $headers['X-OptinMonster-ApiKey'] = $this->apikey;"
url: https://plugins.svn.wordpress.org/optinmonster/trunk/OMAPI/Api.php
- source: cors-preflight
detail: >-
OPTIONS https://api.optinmonster.com/v2/campaigns returns
access-control-allow-headers including X-OptinMonster-ApiKey
http_status: 200
- id: legacyKeyUser
type: apiKey
in: query
name: omapi-key
primary: false
deprecated: true
description: >-
The legacy credential pair — an API key plus an API username — carried as `omapi-key` (and a
paired user value) in the request body/query rather than as a header. Still accepted, but the
help-center article states an API key is no longer required to connect the WordPress plugin,
and the plugin migrates a legacy pair to the header key on first successful call.
evidence:
- source: plugin-source
detail: "OMAPI/Api.php line 223: 'omapi-key' => $this->key"
url: https://plugins.svn.wordpress.org/optinmonster/trunk/OMAPI/Api.php
accepted_auth_headers:
note: >-
Read verbatim from the live `access-control-allow-headers` on an OPTIONS preflight. Presence in
this list means the edge will accept the header cross-origin; it does not prove every one is an
active credential path. X-OptinMonster-ApiKey is the one the vendor's own client uses.
observed:
- X-OptinMonster-ApiKey
- X-OptinMonster-SKey
- Bearer-Token
- X-Auth-Token
- Authorization
- Auth
- X-CSRF-Token
- X-XSRF-Token
fetched: '2026-08-12'
url: https://api.optinmonster.com/v2/campaigns
http_status: 200
context_headers:
note: >-
Not credentials — identification/telemetry headers the first-party WordPress client sends
alongside the key, and which the edge explicitly allows.
headers:
- name: OMAPI-Referer
value: the calling site URL
- name: OMAPI-Sender
value: WordPress
- name: OMAPI-Site
value: the WordPress blog name
- name: OMAPI-Version
value: the plugin version
- name: OMAPI-Plugins
value: active-plugin fingerprint
- name: X-OptinMonster-UrlPath
- name: X-OptinMonster-Campaigns
- name: X-SC-Touchpoint
unauthenticated_surface:
- path: /v2/templates
method: GET
http_status: 200
description: >-
The campaign template catalog is served without any credential — 697 template objects,
1.27 MB, on 2026-08-12. The only anonymous data endpoint found.
fetched: '2026-08-12'
key_management:
issue: https://app.optinmonster.com/ (My Account > API)
rotate: >-
POST v2/key/regenerate — the plugin calls this to regenerate the account key.
revoke: undocumented publicly
webhook_auth:
supported: false
note: >-
Outbound webhooks carry no authentication. The docs state verbatim "At this time we do not
support Authentication for Webhook." Receivers must validate by other means.
source: https://optinmonster.com/docs/how-to-connect-optinmonster-with-a-webhook/
gaps:
- No OpenAPI or public API reference documents the authentication scheme; the header name is
discoverable only from the plugin source or a CORS preflight.
- No OAuth 2.0, so no delegated/third-party authorization and no scope model.
- Webhook deliveries are unauthenticated and unsigned.
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.
Call it yourself
curl for this page
This security artifact
curl "https://apis.io/api/v1/security/optinmonster-authentication"
All security posture
curl "https://apis.io/api/v1/security?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.