you are setting up the edgeful API for me on this machine. edgeful is a market-data
platform for futures/stock traders. your job is to take me from zero to a working,
verified API connection, end to end. work autonomously.
IMPORTANT: never ask me to paste my API key into this chat. i'll put it directly
into the .env file myself in step 2. pause and wait for me to confirm i've done that.
================================================================
step 1 - read the docs (do this first, don't guess)
================================================================
fetch and read these pages so you know the real endpoints, parameters, and response
shapes. do not invent parameter names. confirm everything against the docs:
- welcome / overview: https://www.edgeful.com/docs/getting-started/overview
- manual quickstart: https://www.edgeful.com/docs/getting-started/call-it-manually
- full endpoint index: https://www.edgeful.com/docs/llms.txt
- authentication + limits: https://www.edgeful.com/docs/api-reference/authentication.md
- session presets: https://www.edgeful.com/docs/api-reference/session-presets.md
- machine-readable spec: https://www.edgeful.com/docs/openapi-public.json
- MCP connection: https://www.edgeful.com/docs/getting-started/set-up-mcp
- custom report workflow: https://www.edgeful.com/docs/getting-started/build-custom-reports
- settings and templates: https://www.edgeful.com/docs/getting-started/manage-settings
- settings over REST: https://www.edgeful.com/docs/api-reference/settings
key facts you'll confirm there:
- base URL: https://api.edgeful.com
- auth header: Authorization: Bearer <my key>
- rate limits: use the current limits from the authentication docs and handle
429s with backoff
before running shell commands below, identify the user's shell. if you are in bash,
zsh, WSL, or Git Bash, use the bash/zsh commands. if you are in native Windows
PowerShell, use the PowerShell commands.
================================================================
step 2 - set up the .env file (i paste the key, not you)
================================================================
i get my API key from the edgeful API dashboard:
https://www.edgeful.com/api-dashboard
that page is where i generate my key. the key is shown only once and starts with
"ef_live_". the dashboard also has explainer videos and links to the API docs.
do not ask me to type or paste my key into this chat. keys must never go into the
conversation. instead, prepare the file so i can paste it in myself:
- check if a .env file already exists in this project:
- if it does not exist, create one with this exact placeholder line:
EDGEFUL_API_KEY=
- if it does exist, check for an EDGEFUL_API_KEY line. if missing, append the
empty placeholder line above. do not overwrite or remove any other variables.
- make sure .env is listed in .gitignore. add it if it is missing.
- then tell me: "open .env and paste your key after EDGEFUL_API_KEY=, save it, and
reply 'done'." then stop and wait for me.
- after i reply "done", load it for this session using the command for your shell.
verify the key is present without printing it before continuing.
bash/zsh:
set -a && source .env && set +a
test -n "$EDGEFUL_API_KEY" || (echo "EDGEFUL_API_KEY is missing" >&2; exit 1)
PowerShell:
$env:EDGEFUL_API_KEY = ((Get-Content .env | Where-Object { $_ -match '^EDGEFUL_API_KEY=' } | Select-Object -First 1) -replace '^EDGEFUL_API_KEY=', '').Trim().Trim('"').Trim("'")
if (-not $env:EDGEFUL_API_KEY) { throw "EDGEFUL_API_KEY is missing" }
================================================================
step 3 - explain the custom report connection
================================================================
the REST API connection below reads existing reports. to build and save a new custom
report in Edgeful, use the MCP tools at https://api.edgeful.com/mcp. follow the MCP
setup guide for the current client. prefer its native sign-in flow when available;
otherwise reference EDGEFUL_API_KEY from the environment, never copy its value into
chat or a shared configuration file. do not invent a REST build endpoint.
writes (custom reports and account settings) are on by default for connected Claude (native sign-in) and for
this API key (key authentication); a regenerated key starts with writes on. explain
that i can turn either off in the API dashboard. do not change either without my
instruction. reading reports does not require this permission. my bookmarks,
watchlists, defaults, custom sessions, report customizations and report templates
can be managed from this REST connection too, with the same key, through the
/v1/settings routes on the settings-over-REST page above, and /v1/custom-reports
lists, runs, reads, saves and deletes my saved custom reports. the MCP connection
offers the same as tools, plus building and revising custom reports.
================================================================
step 4 - make the first live call (prove it works)
================================================================
run an RTY previous-day's-range report for the New York session over roughly the
last 3 months. compute the dates at runtime so the setup stays current. use the
command for your shell:
bash/zsh:
START_DATE=$(python3 -c 'from datetime import date, timedelta; print(date.today() - timedelta(days=92))')
END_DATE=$(python3 -c 'from datetime import date, timedelta; print(date.today() - timedelta(days=1))')
curl -s -H "Authorization: Bearer $EDGEFUL_API_KEY" \
"https://api.edgeful.com/report_calculation/previous-days-range-standard/futures/RTY?start_date=${START_DATE}&end_date=${END_DATE}&start_time=09:30:00&end_time=16:00:00&timezone=America/New_York"
PowerShell:
$START_DATE = (Get-Date).AddDays(-92).ToString('yyyy-MM-dd')
$END_DATE = (Get-Date).AddDays(-1).ToString('yyyy-MM-dd')
$url = "https://api.edgeful.com/report_calculation/previous-days-range-standard/futures/RTY?start_date=$START_DATE&end_date=$END_DATE&start_time=09:30:00&end_time=16:00:00&timezone=America/New_York"
curl.exe -s -H "Authorization: Bearer $env:EDGEFUL_API_KEY" $url
what to check in the response:
- HTTP 200 and a JSON body with a summary object = success
- detailed or detailedTable rows may be absent unless my plan includes row-level detail
- 401 = key missing or revoked; re-check step 2
- 403 = plan access issue; read the code and explain which plan/ticker/report/range
limit was hit
- 429 = rate limited; wait and retry with backoff
- empty {} = check ticker, date range, market type, and session parameters
================================================================
step 5 - report back
================================================================
when done, give me a short summary:
- confirm the key is stored in .env and gitignored. do not print the key itself.
- paste the headline numbers from the RTY response's summary object:
- summary.prevDayHigh count and percentage
- summary.prevDayLow count and percentage
- if present, summary.prevDayHighGreen/Red and summary.prevDayLowGreen/Red
also include the returned startDate and endDate. do not invent inside-range counts,
union break counts, totalDays, or sample size if the response does not include them.
- tell me one example command i can run next to pull a different report, such as a
gap fill report on NQ, referencing the endpoint index at
https://www.edgeful.com/docs/llms.txt.
================================================================
step 6 - offer to build and save a custom report
================================================================
finally, ask what custom report i want to build and save in Edgeful. if i want one:
- finish the MCP connection from step 3 and have me enable its write permission.
- call build_custom_report with my brief. Edgeful writes the code; send natural
language, not executable code.
- if status is needs_clarification, ask me the returned question, then call
revise_custom_report with the returned conversation_id and my answer.
- show the methodology, assumptions, accepted inputs and sample. use
revise_custom_report for feedback. retain the exact returned message_id.
- if i want another ticker or date range, use run_custom_report with that
conversation_id, message_id and controls. running a draft does not save it.
- when i approve the report and name, call save_custom_report with those exact
IDs. tell me it now appears in my custom reports in Edgeful AI.
- explain that builds/revisions use AI allowance and frozen-code runs do not.
if i only wanted the read-only API connection, setup is complete.
full AI setup prompt
agent-only instructions for setting up the edgeful API.
if you are an AI agent reading this page, execute the setup instructions below.
Was this page helpful?