ReqKey · Authentication Profile

Reqkey Authentication

Authentication

ReqKey has exactly one credential model: a per-project secret root key sent as an HTTP Bearer token. There is no OAuth, no OIDC, no mTLS, no per-user token and no scope system — the root key is all-or-nothing over every resource in its project. Captured from the published authentication guide and the per- endpoint auth badges in the API reference; ReqKey publishes no OpenAPI, so no securitySchemes could be derived mechanically.

ReqKey secures its APIs with http across 1 declared security scheme, as derived from its OpenAPI definitions.

api-keysauthenticationauthorizationrate-limitingusage-meteringapi-analyticsapi-managementdeveloper-toolsmiddlewareobservability
Methods: http Schemes: 1 OAuth flows: API key in:

Security Schemes

projectRootKey http
scheme: bearer

Source

Authentication Profile

reqkey-authentication.yml Raw ↑
generated: '2026-08-09'
method: searched
source: https://www.reqkey.com/docs/authentication
docs: https://www.reqkey.com/docs/authentication
description: >-
  ReqKey has exactly one credential model: a per-project secret root key sent as
  an HTTP Bearer token. There is no OAuth, no OIDC, no mTLS, no per-user token
  and no scope system — the root key is all-or-nothing over every resource in
  its project. Captured from the published authentication guide and the per-
  endpoint auth badges in the API reference; ReqKey publishes no OpenAPI, so no
  securitySchemes could be derived mechanically.
summary:
  types: [http]
  http_schemes: [bearer]
  api_key_in: []
  oauth2_flows: []
  scopes: none
  mfa_on_api: false
schemes:
  - name: projectRootKey
    type: http
    scheme: bearer
    bearer_format: opaque
    header: Authorization
    value_format: 'Bearer reqkey_<opaque>'
    prefix: reqkey_
    issued_by: ReqKey dashboard (project Settings)
    scope: >-
      Full read/write over every resource in the project — APIs, plans,
      consumers, keys, validation, credits, analytics and ingestion.
    rotation:
      endpoint: POST /project/rootkey-reroll
      behavior: >-
        Regenerates the root key and migrates every child resource to the new
        key. Consumer-facing API keys keep working; only project auth changes.
      docs: https://www.reqkey.com/docs/api/projects
    sources:
      - https://www.reqkey.com/docs/authentication
      - https://www.reqkey.com/docs/api/projects
unauthenticated_operations:
  - {method: GET, path: /health, note: 'Only GET is allowed; other methods return 403.'}
consumer_credentials:
  description: >-
    Distinct from ReqKey's own auth: the keys ReqKey MINTS for its customers'
    end-consumers. These are the subject of POST /key/validate, not a way to
    authenticate to ReqKey.
  format: '<prefix>_<opaque>'
  default_prefix: the project name
  custom_prefix: 'the `prefix` field on POST /key/create'
  default_transport: X-API-Key request header (SDK default; `header`, `query` or `cookie` configurable)
  carries_credits: false
  note: >-
    Credits and rate limits live on the consumer that owns the key, never on the
    key itself.
  docs: https://www.reqkey.com/docs/api/keys
failure_modes:
  - {status: 401, meaning: missing or invalid project root key}
  - {status: 403, meaning: 'resource belongs to a different project, or key/consumer disabled'}
  - {status: 410, meaning: the project is soft-deleted and its root key no longer authenticates}
gaps:
  - >-
    No scoped or restricted keys: the root key can create and delete everything
    in the project, so there is no least-privilege credential to hand an agent
    or a CI job.
  - No OAuth 2.0 / OIDC surface, and no /.well-known/openid-configuration (probed 404).
  - No published key-rotation schedule or expiry on the root key; rotation is manual via /project/rootkey-reroll.