curl --request GET \
--url 'https://api.edgeful.com/report_calculation/market-session-breakout-by-rejection/<market_type>/<ticker>?start_date=<start_date>&end_date=<end_date>' \
--header 'Authorization: Bearer <api-key>'import requests
url = "https://api.edgeful.com/report_calculation/market-session-breakout-by-rejection/<market_type>/<ticker>?start_date=<start_date>&end_date=<end_date>"
headers = {"Authorization": "Bearer <api-key>"}
response = requests.get(url, headers=headers)
print(response.json())const url = "https://api.edgeful.com/report_calculation/market-session-breakout-by-rejection/<market_type>/<ticker>?start_date=<start_date>&end_date=<end_date>";
const options = {
method: "GET",
headers: { Authorization: "Bearer <api-key>" },
};
const response = await fetch(url, options);
const data = await response.json();
console.log(data);<?php
$ch = curl_init("https://api.edgeful.com/report_calculation/market-session-breakout-by-rejection/<market_type>/<ticker>?start_date=<start_date>&end_date=<end_date>");
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: Bearer <api-key>"]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.edgeful.com/report_calculation/market-session-breakout-by-rejection/<market_type>/<ticker>?start_date=<start_date>&end_date=<end_date>", nil)
req.Header.Set("Authorization", "Bearer <api-key>")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.edgeful.com/report_calculation/market-session-breakout-by-rejection/<market_type>/<ticker>?start_date=<start_date>&end_date=<end_date>"))
.header("Authorization", "Bearer <api-key>")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());require "net/http"
require "uri"
uri = URI("https://api.edgeful.com/report_calculation/market-session-breakout-by-rejection/<market_type>/<ticker>?start_date=<start_date>&end_date=<end_date>")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Bearer <api-key>"
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http|
http.request(request)
end
puts response.body{
"startDate": "<string>",
"endDate": "<string>",
"session1Name": "<string>",
"summary": [
{
"category": "<string>",
"frequency": 123,
"percentage": "<string>"
}
],
"detailed": [
{}
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}market session breakout by rejection
tracks which side of the first session range forms first, then waits until session 1 closes before checking whether session 2 breaks the session 1 high or low first. configurable via start_date, end_date, and session windows.
curl --request GET \
--url 'https://api.edgeful.com/report_calculation/market-session-breakout-by-rejection/<market_type>/<ticker>?start_date=<start_date>&end_date=<end_date>' \
--header 'Authorization: Bearer <api-key>'import requests
url = "https://api.edgeful.com/report_calculation/market-session-breakout-by-rejection/<market_type>/<ticker>?start_date=<start_date>&end_date=<end_date>"
headers = {"Authorization": "Bearer <api-key>"}
response = requests.get(url, headers=headers)
print(response.json())const url = "https://api.edgeful.com/report_calculation/market-session-breakout-by-rejection/<market_type>/<ticker>?start_date=<start_date>&end_date=<end_date>";
const options = {
method: "GET",
headers: { Authorization: "Bearer <api-key>" },
};
const response = await fetch(url, options);
const data = await response.json();
console.log(data);<?php
$ch = curl_init("https://api.edgeful.com/report_calculation/market-session-breakout-by-rejection/<market_type>/<ticker>?start_date=<start_date>&end_date=<end_date>");
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: Bearer <api-key>"]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.edgeful.com/report_calculation/market-session-breakout-by-rejection/<market_type>/<ticker>?start_date=<start_date>&end_date=<end_date>", nil)
req.Header.Set("Authorization", "Bearer <api-key>")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.edgeful.com/report_calculation/market-session-breakout-by-rejection/<market_type>/<ticker>?start_date=<start_date>&end_date=<end_date>"))
.header("Authorization", "Bearer <api-key>")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());require "net/http"
require "uri"
uri = URI("https://api.edgeful.com/report_calculation/market-session-breakout-by-rejection/<market_type>/<ticker>?start_date=<start_date>&end_date=<end_date>")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Bearer <api-key>"
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http|
http.request(request)
end
puts response.body{
"startDate": "<string>",
"endDate": "<string>",
"session1Name": "<string>",
"summary": [
{
"category": "<string>",
"frequency": 123,
"percentage": "<string>"
}
],
"detailed": [
{}
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
Use your Edgeful API key as the bearer token. In the API Reference authorization drawer, paste only the key (for example, ef_live_<random>).
Path Parameters
ticker symbol. format varies by market_type: stocks use a plain symbol (e.g., SPY), forex uses a 6-character pair (e.g., EURUSD), crypto uses a contract pair (e.g., BTCUSD), futures uses the root symbol (e.g., ES).
"SPY"
"EURUSD"
"BTCUSD"
"ES"
market venue for the ticker, one of forex, futures, crypto. stock is not supported for this report.
forex, futures, crypto "futures"
"forex"
Query Parameters
session 1 start time, HH:MM:SS, interpreted in session1_timezone. session 1 defines the reference range. defaults to the London session.
session 1 end time, HH:MM:SS, interpreted in session1_timezone. session 2 break measurement starts only after this time.
IANA timezone used to interpret session 1 times. defaults to Europe/London.
session 2 start time, HH:MM:SS, interpreted in session2_timezone. breakouts of session 1 high or low are measured within this session after session 1 closes. defaults to the New York session.
session 2 end time, HH:MM:SS, interpreted in session2_timezone.
IANA timezone used to interpret session 2 times. defaults to America/New_York.
when true, treats session 1 and session 2 as falling on separate calendar days; when false, both sessions belong to the same calendar day.
filter on where price ended session 1, measured as a percent of the session 1 range from the rejection side; ALL keeps every session.
0, 1, 2, 3, 4 intraday candle granularity used for the calculation. accepted values: 1min, 5min, 15min, 30min, 1hour. route-specific defaults are shown in the default field.
inclusive start date, YYYY-MM-DD, interpreted in the request timezone. sessions on or after this date are included in the calculation.
"2024-01-01"
inclusive end date, YYYY-MM-DD, interpreted in the request timezone. sessions on or before this date are included in the calculation.
"2024-12-31"
Response
Successful Response
Show child attributes
Show child attributes
per-session detail; availability depends on the caller's tier. Present only for tiers that include detailed rows.
Was this page helpful?