curl --request POST \
--url 'https://api.edgeful.com/v1/settings/templates' \
--header 'Authorization: Bearer <api-key>' \
--header 'Content-Type: application/json' \
--data '{"template_type": "report", "name": "tight gap", "parent_report": "gap-fill", "sub_report": "by-size", "configuration": {"setting_key": "gapFillBySize", "customizations": {"value": 50}, "inputs": {"ticker": {"market": "futures", "ticker": "ES"}}}}'import requests
url = "https://api.edgeful.com/v1/settings/templates"
headers = {"Authorization": "Bearer <api-key>"}
payload = {'template_type': 'report', 'name': 'tight gap', 'parent_report': 'gap-fill', 'sub_report': 'by-size', 'configuration': {'setting_key': 'gapFillBySize', 'customizations': {'value': 50}, 'inputs': {'ticker': {'market': 'futures', 'ticker': 'ES'}}}}
response = requests.post(url, headers=headers, json=payload)
print(response.json())const url = "https://api.edgeful.com/v1/settings/templates";
const options = {
method: "POST",
headers: { Authorization: "Bearer <api-key>", "Content-Type": "application/json" },
body: JSON.stringify({"template_type": "report", "name": "tight gap", "parent_report": "gap-fill", "sub_report": "by-size", "configuration": {"setting_key": "gapFillBySize", "customizations": {"value": 50}, "inputs": {"ticker": {"market": "futures", "ticker": "ES"}}}}),
};
const response = await fetch(url, options);
const data = await response.json();
console.log(data);<?php
$ch = curl_init("https://api.edgeful.com/v1/settings/templates");
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: Bearer <api-key>", "Content-Type: application/json"]);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"template_type": "report", "name": "tight gap", "parent_report": "gap-fill", "sub_report": "by-size", "configuration": {"setting_key": "gapFillBySize", "customizations": {"value": 50}, "inputs": {"ticker": {"market": "futures", "ticker": "ES"}}}}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
req, _ := http.NewRequest("POST", "https://api.edgeful.com/v1/settings/templates", strings.NewReader(`{"template_type": "report", "name": "tight gap", "parent_report": "gap-fill", "sub_report": "by-size", "configuration": {"setting_key": "gapFillBySize", "customizations": {"value": 50}, "inputs": {"ticker": {"market": "futures", "ticker": "ES"}}}}`))
req.Header.Set("Authorization", "Bearer <api-key>")
req.Header.Set("Content-Type", "application/json")
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/v1/settings/templates"))
.header("Authorization", "Bearer <api-key>")
.header("Content-Type", "application/json")
.method("POST", HttpRequest.BodyPublishers.ofString("{\"template_type\": \"report\", \"name\": \"tight gap\", \"parent_report\": \"gap-fill\", \"sub_report\": \"by-size\", \"configuration\": {\"setting_key\": \"gapFillBySize\", \"customizations\": {\"value\": 50}, \"inputs\": {\"ticker\": {\"market\": \"futures\", \"ticker\": \"ES\"}}}}"))
.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/v1/settings/templates")
request = Net::HTTP::Post.new(uri)
request["Authorization"] = "Bearer <api-key>"
request["Content-Type"] = "application/json"
request.body = '{"template_type": "report", "name": "tight gap", "parent_report": "gap-fill", "sub_report": "by-size", "configuration": {"setting_key": "gapFillBySize", "customizations": {"value": 50}, "inputs": {"ticker": {"market": "futures", "ticker": "ES"}}}}'
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http|
http.request(request)
end
puts response.body{
"status": "<string>",
"template": {
"id": 123,
"type": "<string>",
"name": "<string>",
"parent_report": "<string>",
"sub_report": "<string>",
"sort_order": 123,
"configuration": {},
"url": "<string>",
"read_only": true
},
"previous": {
"id": 123,
"type": "<string>",
"name": "<string>",
"parent_report": "<string>",
"sub_report": "<string>",
"sort_order": 123,
"configuration": {},
"url": "<string>",
"read_only": true
},
"changed": {
"saved": [
123
],
"removed": [
123
]
}
}save template
curl --request POST \
--url 'https://api.edgeful.com/v1/settings/templates' \
--header 'Authorization: Bearer <api-key>' \
--header 'Content-Type: application/json' \
--data '{"template_type": "report", "name": "tight gap", "parent_report": "gap-fill", "sub_report": "by-size", "configuration": {"setting_key": "gapFillBySize", "customizations": {"value": 50}, "inputs": {"ticker": {"market": "futures", "ticker": "ES"}}}}'import requests
url = "https://api.edgeful.com/v1/settings/templates"
headers = {"Authorization": "Bearer <api-key>"}
payload = {'template_type': 'report', 'name': 'tight gap', 'parent_report': 'gap-fill', 'sub_report': 'by-size', 'configuration': {'setting_key': 'gapFillBySize', 'customizations': {'value': 50}, 'inputs': {'ticker': {'market': 'futures', 'ticker': 'ES'}}}}
response = requests.post(url, headers=headers, json=payload)
print(response.json())const url = "https://api.edgeful.com/v1/settings/templates";
const options = {
method: "POST",
headers: { Authorization: "Bearer <api-key>", "Content-Type": "application/json" },
body: JSON.stringify({"template_type": "report", "name": "tight gap", "parent_report": "gap-fill", "sub_report": "by-size", "configuration": {"setting_key": "gapFillBySize", "customizations": {"value": 50}, "inputs": {"ticker": {"market": "futures", "ticker": "ES"}}}}),
};
const response = await fetch(url, options);
const data = await response.json();
console.log(data);<?php
$ch = curl_init("https://api.edgeful.com/v1/settings/templates");
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: Bearer <api-key>", "Content-Type: application/json"]);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"template_type": "report", "name": "tight gap", "parent_report": "gap-fill", "sub_report": "by-size", "configuration": {"setting_key": "gapFillBySize", "customizations": {"value": 50}, "inputs": {"ticker": {"market": "futures", "ticker": "ES"}}}}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
req, _ := http.NewRequest("POST", "https://api.edgeful.com/v1/settings/templates", strings.NewReader(`{"template_type": "report", "name": "tight gap", "parent_report": "gap-fill", "sub_report": "by-size", "configuration": {"setting_key": "gapFillBySize", "customizations": {"value": 50}, "inputs": {"ticker": {"market": "futures", "ticker": "ES"}}}}`))
req.Header.Set("Authorization", "Bearer <api-key>")
req.Header.Set("Content-Type", "application/json")
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/v1/settings/templates"))
.header("Authorization", "Bearer <api-key>")
.header("Content-Type", "application/json")
.method("POST", HttpRequest.BodyPublishers.ofString("{\"template_type\": \"report\", \"name\": \"tight gap\", \"parent_report\": \"gap-fill\", \"sub_report\": \"by-size\", \"configuration\": {\"setting_key\": \"gapFillBySize\", \"customizations\": {\"value\": 50}, \"inputs\": {\"ticker\": {\"market\": \"futures\", \"ticker\": \"ES\"}}}}"))
.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/v1/settings/templates")
request = Net::HTTP::Post.new(uri)
request["Authorization"] = "Bearer <api-key>"
request["Content-Type"] = "application/json"
request.body = '{"template_type": "report", "name": "tight gap", "parent_report": "gap-fill", "sub_report": "by-size", "configuration": {"setting_key": "gapFillBySize", "customizations": {"value": 50}, "inputs": {"ticker": {"market": "futures", "ticker": "ES"}}}}'
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http|
http.request(request)
end
puts response.body{
"status": "<string>",
"template": {
"id": 123,
"type": "<string>",
"name": "<string>",
"parent_report": "<string>",
"sub_report": "<string>",
"sort_order": 123,
"configuration": {},
"url": "<string>",
"read_only": true
},
"previous": {
"id": 123,
"type": "<string>",
"name": "<string>",
"parent_report": "<string>",
"sub_report": "<string>",
"sort_order": 123,
"configuration": {},
"url": "<string>",
"read_only": true
},
"changed": {
"saved": [
123
],
"removed": [
123
]
}
}Authorizations
Send your Edgeful API key in the Authorization header as Bearer <api-key> (for example, Bearer ef_live_<random>).
Body
report, wip (What's in Play) or screener.
report, wip, screener template name, trimmed and unique per type ignoring case; required to create.
1 - 255the template's configuration, in the shape the save template operation gives for its type; required to create.
Show child attributes
Show child attributes
report templates only: the report page's slug from the report catalog.
1 - 80report templates only: the page's sub-report slug.
1 - 80id of the template to update; omit to create one.
-2147483648 <= x <= 2147483647Response
Successful Response
created, updated or unchanged.
the saved template.
Show child attributes
Show child attributes
the template before an update, for undo; null on create.
Show child attributes
Show child attributes
what this write changed.
Show child attributes
Show child attributes
Was this page helpful?