ShieldLabs · Authentication Profile

Shieldlabs Authentication

Authentication

ShieldLabs secures its APIs with http across 2 declared security schemes, as derived from its OpenAPI definitions.

Fraud PreventionAbuse PreventionVisitor IdentificationDevice FingerprintingBot Detectionvpn-proxy-detectionRisk ScoringIdentitySecurityWebhooktraffic-qualityA2A
Methods: http Schemes: 2 OAuth flows: API key in:

Security Schemes

PrivateApiKey http
scheme: bearer
SecretKeyHeader http
scheme: bearer

Source

Authentication Profile

Raw ↑
generated: '2026-09-04'
method: searched
source: openapi/_original/shieldlabs-openapi.yaml
docs: https://docs.shieldlabs.ai/setup/keys
note: >-
  Derived from the provider's OpenAPI securitySchemes, then upgraded from the published keys reference.
  ShieldLabs issues four distinct credentials per registered domain; only two of them appear in the
  OpenAPI (the two Server API bearer schemes). The public key and the per-endpoint webhook signing
  secret are documented but are not OpenAPI security schemes, so they are recorded separately below.

  Re-derived 2026-09-04 from a re-harvested spec. The two schemes, their names, their transport and
  their per-domain scoping are unchanged. One thing was added: the provider's own OpenAPI repository
  README states that LEGACY PATH AUTHENTICATION on the Management API is deprecated with a sunset of
  2027-01-01 — the same date as the deprecated History operation. That deprecation is published only
  in the repository README; it does not appear on the docs site or in the spec, so a consumer reading
  the documentation alone will not see it. Recorded below.

  There is still no OAuth and no OpenID Connect on any surface, which is why this repo carries no
  scopes/ artifact: with two static bearer credentials and no authorization server there is no scope
  surface to record. /.well-known/oauth-authorization-server and /.well-known/oauth-protected-resource
  return 404 on all eight hosts.
summary:
  types:
  - http
  api_key_in: []
  oauth2_flows: []
  scheme_count: 2
  oauth2: false
  openid_connect: false
  mutual_tls: false
schemes:
- name: PrivateApiKey
  type: http
  scheme: bearer
  description: >-
    Private API Key from the dashboard API tab, format `sec_xxx-xxx-xxx`. Sent as
    `Authorization: Bearer sec_…` to the History API on account.shieldlabs.ai. Free reads —
    does not consume request balance.
  applies_to: https://account.shieldlabs.ai/api
  sources:
  - openapi/_original/shieldlabs-openapi.yaml
- name: SecretKeyHeader
  type: http
  scheme: bearer
  description: >-
    Secret Key (32-char hex) sent as `Authorization: Bearer` together with an `X-Shield-Domain`
    header naming the registered domain. Authenticates the Management API on api.shieldlabs.ai
    (profile, balance, billed History path).
  additional_headers:
  - name: X-Shield-Domain
    required: true
    description: The registered domain the credential is scoped to.
  applies_to: https://api.shieldlabs.ai
  sources:
  - openapi/_original/shieldlabs-openapi.yaml
non_api_credentials:
- name: Public Key
  format: 32-char hex
  transport: query parameter `?publicKey=` on the cdn.shieldlabs.ai snippet URL
  browser_safe: true
  description: >-
    Identifies the domain to the ingest gateway. Accepted only when it matches the domain the page
    is served from (resolved from Origin, Referer or Host), so a lifted key will not work elsewhere.
  docs: https://docs.shieldlabs.ai/setup/keys
- name: Webhook signing secret
  format: whsec_…
  scope: per registered webhook endpoint
  browser_safe: false
  description: >-
    HMAC-SHA256 key used to verify the `X-Shield-Signature: sha256=<hex>` header over the raw
    webhook body. Not the Secret Key — a separate secret per endpoint.
  docs: https://docs.shieldlabs.ai/setup/webhooks
deprecations:
- subject: Management API legacy path authentication
  status: deprecated
  sunset: '2027-01-01'
  statement: 'legacy path auth deprecated (sunset 2027-01-01)'
  published_only_in: https://github.com/ShieldLabs-ai/shieldlabs-openapi (README)
  not_in: [https://docs.shieldlabs.ai/setup/keys, the OpenAPI spec]
  cross_reference: lifecycle/shieldlabs-lifecycle.yml
oauth:
  supported: false
  openid_connect: false
  discovery_probes:
  - {path: /.well-known/oauth-authorization-server, hosts_probed: 8, result: 404 on all}
  - {path: /.well-known/oauth-protected-resource, hosts_probed: 8, result: 404 on all}
  - {path: /.well-known/openid-configuration, hosts_probed: 8, result: 404 on all}
  scopes_artifact: not applicable — no authorization server, no scope surface
key_scoping:
  per_domain: true
  rotation: >-
    Key sets rotate from the dashboard; rotation issues a fresh public key and secret key, shows the
    new secret in full once, and invalidates the old set immediately.
  masking: keys are masked in the dashboard after issue

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