Skip to main content

Documentation Index

Fetch the complete documentation index at: https://edgeful.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

header format

  • Authorization: Bearer sk_live_<random> (single space between Bearer and the key, no colon).
  • sent on every request. no session, no cookie.
  • the Mintlify playground accepts the bare key (no need to type Bearer — Mintlify auto-prefixes Bearer on the wire).
example request — same shape as quickstart step 2:
curl -H "Authorization: Bearer $EDGEFUL_API_KEY" \
  "https://api.edgeful.com/report_calculation/outside-days-standard/futures/SPY?start_date=2024-01-01&end_date=2024-12-31"

key format

  • keys start with the sk_live_ prefix.
  • plaintext is shown only once on creation.
  • lost keys cannot be recovered — delete it and generate a new one.
  • the dashboard shows a short display prefix so you can identify each key without exposing the full value.

error responses

  • 401 Unauthorized — missing, malformed, or revoked key. Body shape: {"app_exception": "Unauthorized", "context": null}.
  • 429 Too Many Requests — per-key rate limit exceeded. Default limits: 30 requests / 60 s (sustained) or 5 requests / 5 s (burst). Body: {"detail": "API key rate limit exceeded"}. Use exponential backoff before retrying.
  • No 403 in v1 — keys are user-scoped with no per-route ACL.

rotation

  1. generate a new key in Settings → API Keys.
  2. deploy the new key to your integration.
  3. revoke the old key — it stops authenticating immediately.
manual only. no scheduled expiry. multiple active keys per account allowed — useful for staged rollouts.

best practices

  • store in environment variables / secret manager. never commit to source.
  • one key per environment (dev / staging / prod) and per integration.
  • don’t log full keys server- or client-side. mask all but last 4 chars.
  • rotate when staff with access to the value leaves.