Request (Timeseries)
Method
API is using POST method
Supports: ✅ Time Series Forecasting (predicting numeric values over a date range)
Request URL
https://app.graphite-note.com/api/v1/prediction/model/[model-code]
Replace [model-code]
with your model’s code.
Find it in the model’s Settings → ID section.
Headers
Authorization:
Bearer [token]
(Get your token in Account Info inside the app.)Content-Type:
application/json
Body
The v1 time-series API expects a structured object at data.predict_values
:
Required fields
startDate
(string,YYYY-MM-DD
)endDate
(string,YYYY-MM-DD
)sequenceID
(string; use"n/a"
if not applicable)
Conditional field
daysData
(array) — only when the model was trained with regressors. One object per date with:date
(string,YYYY-MM-DD
)All regressor columns used in training (e.g.,
promotion
,price
,weather
, …)
If the model used regressors, you must supply every regressor for every date in the requested range via
daysData
.
Example A — Without regressors
curl -L -X POST 'https://app.graphite-note.com/api/v1/prediction/model/[model-code]' \
-H 'Authorization: Bearer [token]' \
-H 'Content-Type: application/json' \
-d '{
"data": {
"predict_values": {
"startDate": "2025-10-01",
"endDate": "2025-12-01",
"sequenceID": "Store001"
}
}
}'
Typical response
{
"data": [
{
"date": "2025-10-01T00:00:00.000",
"predicted": 1225707.2645253073,
"predicted_lower": 1190271.3575973918,
"predicted_upper": 1257483.2005986127
},
{
"date": "2025-11-01T00:00:00.000",
"predicted": 1354638.5614777768,
"predicted_lower": 1322609.8547555234,
"predicted_upper": 1388121.5808224094
},
{
"date": "2025-12-01T00:00:00.000",
"predicted": 1882129.6128404615,
"predicted_lower": 1847289.9345675157,
"predicted_upper": 1913548.0087476152
},
{
"sequenceID": "Store001"
}
]
}
Example B — With regressors (daysData
required)
daysData
required)curl -L -X POST 'https://app.graphite-note.com/api/v1/prediction/model/[model-code]' \
-H 'Authorization: Bearer [token]' \
-H 'Content-Type: application/json' \
-d '{
"data": {
"predict_values": {
"startDate": "2025-09-22",
"endDate": "2025-09-29",
"sequenceID": "Alpha",
"daysData": [
{ "date": "2025-09-22", "promotion": "A" },
{ "date": "2025-09-29", "promotion": "B" }
]
}
}
}'
Typical response
{
"data": [
{
"date": "2025-09-22T00:00:00.000",
"predicted": 2370.4695876452001,
"predicted_lower": 2279.2000645561998,
"predicted_upper": 2458.3810902849
},
{
"date": "2025-09-29T00:00:00.000",
"predicted": 2694.2617946204,
"predicted_lower": 2604.5116258851999,
"predicted_upper": 2788.9465525872001
},
{
"sequenceID": "Alpha"
}
]
}
Parameter Reference
startDate
string
Yes
Start of prediction window (YYYY-MM-DD
). Must align to model frequency.
endDate
string
Yes
End of prediction window (YYYY-MM-DD
). Inclusive for requested outputs.
sequenceID
string
Yes
Sequence identifier. Use "n/a"
if not used by your workflow.
daysData
array
Conditional
Only for models trained with regressors. One row per date.
date
string
Conditional
Inside daysData
. Date the regressor values apply to (YYYY-MM-DD
).
<regressor>
any
Conditional
Inside daysData
. Every regressor column used in training must be present for each date.
Response fields
date
: ISO datetime string (YYYY-MM-DDT00:00:00.000
) aligned to the model frequency.predicted
: point forecast.predicted_lower
,predicted_upper
: uncertainty bounds.A trailing object with
{ "sequenceID": "…" }
echoes your request identifier.
Validation Rules & Tips
Dates: Use
YYYY-MM-DD
. Ensure the range matches model frequency (daily, weekly, monthly).Regressors: For regressor-trained models, provide all regressors for every date in
daysData
. Missing any will prevent forward predictions.Types: Match training schema. Numeric vs categorical must align with what the model expects.
Range size: Extremely large ranges may be throttled. Test with a small window first.
Echoed sequence: The API echoes your
sequenceID
at the end of the response array to help correlate requests.
Last updated
Was this helpful?