Skip to main content
POST
/
schedule-management
/
v1
/
schedules
Create Schedule
curl --request POST \
  --url https://api.engrate.io/schedule-management/v1/schedules \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "market": "DE",
  "tso": "<string>",
  "receiver_id": "<string>",
  "series": [
    {
      "type": "production",
      "ids": {
        "in_area": "<string>",
        "out_area": "<string>",
        "in_party": "<string>",
        "out_party": "<string>",
        "market_agreement_id": "<string>"
      },
      "data": [
        {
          "ts": "2023-11-07T05:31:56Z",
          "amount": 0
        }
      ]
    }
  ],
  "date": "2023-12-25",
  "test": false
}
'
{
  "uid": "<string>",
  "schedule_uid": "<string>",
  "org_uid": "<string>",
  "version": 123,
  "status": "<string>",
  "acceptance_level": "<string>",
  "created_ts": "<string>",
  "last_modified_ts": "<string>",
  "spec": {
    "market": "<string>",
    "tso": "<string>",
    "sender_id": "<string>",
    "receiver_id": "<string>",
    "series": [
      {
        "uid": "<string>",
        "time_series_uid": "<string>",
        "type": "<string>",
        "in_area": "<string>",
        "out_area": "<string>",
        "in_party": "<string>",
        "out_party": "<string>",
        "ts_version": 1
      }
    ]
  },
  "message_id": "<string>",
  "is_active": true,
  "warnings": [
    {
      "code": "<string>",
      "text": "<string>"
    }
  ],
  "nrr_received": true,
  "transmission_report_id": "<string>"
}

Authorizations

Authorization
string
header
required

Body

application/json

Request body for creating a new schedule.

market
enum<string>
required

Electricity market. Valid values: 'DE' or 'germany' (German market, MaBiS/ESS), 'NL' or 'netherlands' (Dutch market, TenneT MMC Hub).

Available options:
DE,
NL,
germany,
netherlands
tso
string
required

TSO identifier. DE values: '50HERTZ_DE_TSO' (50Hertz), 'DE-AMPRION-TSO' (Amprion), 'TTG_DE' (TenneT DE), 'DE-TRANSNETBWTSO' (TransnetBW). NL value: 'TENNET_TSO' (TenneT NL).

Minimum string length: 1
receiver_id
string
required

EIC X code (organization code) of the receiving TSO. DE values by TSO — '50HERTZ_DE_TSO': '10XDE-VE-TRANSMK', 'DE-AMPRION-TSO': '10XDE-RWENET---W', 'TTG_DE': '10XDE-EON-NETZ-C', 'DE-TRANSNETBWTSO': '10XDE-ENBW--TNGX'. NL: EAN-13 code of TenneT NL: '8716867111163'.

Minimum string length: 1
series
ScheduleVersionSeriesItem · object[]
required

Time series to submit (0–50). DE requires at least 1 series. NL allows an empty list for zero-schedule or cancellation submissions.

Maximum array length: 50
date
string<date> | null

Delivery date (YYYY-MM-DD). If omitted, derived from the first timestamp in series data (UTC → Europe/Berlin). Example: omit when the first series timestamp is '2026-01-23T23:00:00Z' (= 2026-01-24 00:00 Berlin time) to get delivery date 2026-01-24.

test
boolean
default:false

If true, skip gate closure validation. Use in development/testing to submit outside normal market windows.

Response

Successful Response

Response model for ScheduleVersion - matches eg-app contract.

uid
string
required
schedule_uid
string
required
org_uid
string
required
version
integer
required
status
string
required
acceptance_level
string
required
created_ts
string
required
last_modified_ts
string
required
spec
ScheduleVersionSpec · object
required

Spec structure for schedule version.

message_id
string | null
is_active
boolean
default:true
warnings
WarningItem · object[] | null
nrr_received
boolean | null
transmission_report_id
string | null