Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.simplefunctions.dev/llms.txt

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

SF has two key shapes:
  • sf_live_... — landing API + MCP. Issue at simplefunctions.dev/dashboard/keys.
  • sft_live_... — Terminal data API. Issue at app.simplefunctions.dev/dashboard/keys.

Create

# CLI
sf me keys --json    # list
# Create via dashboard or:
curl -X POST -H "Authorization: Bearer $SF_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"label":"my-agent","scopes":["read","write"]}' \
  https://simplefunctions.dev/api/keys
The secret is shown exactly once on creation. Store it somewhere safe.

Scopes

ScopeAllows
readAll /api/public/*, /api/agent/*, read-only thesis + portfolio
writeThesis create/update, intent submit, watch + alert mutations
tradeOrder placement on the trading routes
adminEverything; reserved for service accounts
Unspecified = read only. Live trading requires explicit trade scope.

Rotate

sf rotate-secret <key-id>
Issues a new secret on the same key id; the old secret is invalidated 24h later (grace window).

Revoke

curl -X DELETE -H "Authorization: Bearer $SF_API_KEY" \
  https://simplefunctions.dev/api/keys/<key-id>
Or via dashboard. Revocation is immediate.

Per-MCP-tool scoping

When creating a key intended for MCP, you can restrict the tool catalog the key sees:
{
  "label": "claude-desktop",
  "scopes": ["read"],
  "allowedMcpTools": ["query", "scan_markets", "get_world_state", "inspect"]
}
Calls to unlisted tools return AUTH_FORBIDDEN.

See also

Authentication

Where API keys fit in the auth model.

Rate limits

Per-key throttles.

Security

Storage and rotation guarantees.