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)

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

Field
Type
Required
Description

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?