Nefesh AI · Authentication Profile

Nefesh Ai Authentication

Authentication

Nefesh AI secures its APIs with apiKey and http across 2 declared security schemes, as derived from its OpenAPI definitions.

CompanyBiometricsHuman StateStress DetectionAffective ComputingAI AgentsMCPA2ALLM GatewayWearablesDigital HealthMiddleware
Methods: apiKey, http Schemes: 2 OAuth flows: API key in: header

Security Schemes

NefeshApiKey apiKey
· in: header (X-Nefesh-Key)
NefeshBearer http
scheme: bearer

Source

Authentication Profile

nefesh-ai-authentication.yml Raw ↑
generated: '2026-09-19'
method: searched
source: https://nefesh.ai/docs/api
docs:
- https://nefesh.ai/docs/api
- https://nefesh.ai/docs/quickstart
- https://nefesh.ai/docs/mcp
- https://nefesh.ai/docs/a2a
- https://nefesh.ai/docs/gateway
- https://nefesh.ai/terms
note: >-
  No OpenAPI is published, so this profile is written from the docs, the served agent card and live
  unauthenticated probes rather than derived from securitySchemes. Every surface uses one credential: a per-account
  API key sent in the X-Nefesh-Key header. Keys are prefixed nfsh_ (free-tier keys nfsh_free_); the gateway README's
  curl examples show an older "nk_..." placeholder that the docs do not otherwise use. There is no OAuth 2.0, no
  OpenID Connect, no scopes and no /.well-known/oauth-* metadata on any host (see well-known/nefesh-ai-well-known.yml),
  so scopes/ is not emitted.
summary:
  types: [apiKey, http]
  api_key_in: [header]
  api_key_header: X-Nefesh-Key
  key_prefix: nfsh_
  bearer_accepted_on: [A2A endpoint]
  oauth2_flows: []
  self_provisioning: MCP tools request_api_key + check_api_key_status (no key needed; email verification link)
schemes:
- name: NefeshApiKey
  type: apiKey
  in: header
  parameter: X-Nefesh-Key
  applies_to:
  - https://api.nefesh.ai (all /v1/* and /webhooks/* routes)
  - https://gateway.nefesh.ai (/v1/chat/completions, /v1/messages — alongside X-LLM-Key for the upstream model)
  - https://mcp.nefesh.ai/mcp (passed as a header in the MCP client config; required by get_human_state, ingest, get_trigger_memory, get_session_history)
  - https://mcp.nefesh.ai/a2a
  key_format: 'nfsh_... (free keys nfsh_free_...)'
  issuance:
  - 'https://nefesh.ai/signup — email + verification link, free tier 1,000 calls/month'
  - 'https://nefesh.ai/pricing — Solo $25/month via Stripe; one key per subscription (terms §3)'
  - 'MCP self-provisioning: request_api_key(email) then poll check_api_key_status(request_id) every 10 s; key returned once, request expires after 15 minutes; disposable/placeholder emails blocked server-side'
  evidence:
  - {source: 'https://nefesh.ai/docs/api', quote: 'All requests require the X-Nefesh-Key header.'}
  - {source: 'https://nefesh.ai/terms', quote: 'Authentication is performed via the X-Nefesh-Key HTTP header. Each subscription provides one API key.'}
  - {source: 'GET https://api.nefesh.ai/v1/state?session_id=x (no header)', http_status: 401, body: '{"detail":"Missing X-Nefesh-Key header."}'}
  - {source: 'GET https://api.nefesh.ai/v1/state?session_id=x (X-Nefesh-Key: nfsh_invalid)', http_status: 401, body: '{"detail":"Invalid API key."}'}
  - {source: 'GET https://api.nefesh.ai/webhooks/retries (no header)', http_status: 401, body: '{"detail":"Missing auth"}'}
- name: NefeshBearer
  type: http
  scheme: bearer
  applies_to:
  - https://mcp.nefesh.ai/a2a
  note: >-
    The agent card's authSchemes lists {type: http, scheme: bearer} beside the apiKey header, and the A2A README says
    "X-Nefesh-Key header or Authorization: Bearer token". The bearer value is the same API key, not an OAuth token.
  evidence:
  - {source: 'https://mcp.nefesh.ai/.well-known/agent-card.json', field: authSchemes}
  - {source: 'POST https://mcp.nefesh.ai/a2a message/send (no credential)', http_status: 200, body_artifact: 'Missing API key. Provide X-Nefesh-Key header or Authorization: Bearer token. Get a free key at https://nefesh.ai/signup'}
gateway_headers:
  note: The gateway needs two credentials per request — Nefesh's and the upstream LLM provider's.
  headers:
  - {name: X-Nefesh-Key, required: true, description: Nefesh API key}
  - {name: X-LLM-Key, required: true, description: 'Upstream LLM provider API key, forwarded in-memory and (per docs) never stored'}
  - {name: X-LLM-Backend, required: false, description: 'Upstream base URL; defaults to https://api.openai.com for /v1/chat/completions and https://api.anthropic.com for /v1/messages'}
  - {name: X-Nefesh-Subject, required: false, description: Subject id from the device registry (recommended)}
  - {name: X-Nefesh-Session, required: false, description: Legacy session id}
mcp_auth_model:
  anonymous_allowed: [initialize, tools/list, resources/list, prompts/list, request_api_key, check_api_key_status]
  key_required: [get_human_state, ingest, get_trigger_memory, get_session_history]
  failure_mode: 'tools/call without a key returns a 200 tool result whose text is {"error": "API returned 401. Check your API key and parameters."} with isError false — the auth failure is in-band, not a JSON-RPC error.'
key_handling_rules:
  - 'Keys must not be shared, published, embedded in client-side code or transferred (terms §3).'
  - 'Suspected compromise must be reported immediately; Nefesh may revoke compromised or misused keys without refund.'
  - 'Subject identifiers sent with a key must be pre-hashed (SHA-256) by the customer (terms §7).'

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/nefesh-ai-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.