Models
List models
Returns models accessible to your organisation. Includes your organisation's private models plus any public models published by other organisations.
Parameters
archivedbooleanfalse.timeHorizonstringkey (for example day_ahead).Returns
idstringmodelGroupIdstringnamestringdisplayNamestringnotesstring | nulldescriptionstringrevisionnumberdockerImagestringcreatedAtstringrunMode"AUTOMATIC" | "ON_DEMAND"horizonTimeHorizonmodelMetadataobjectoutputVariablesOutputVariable[]outputSpecificationColumnSpecification[]deprecated
outputVariables instead.inputsModelInputSpecification[] | nulldatasetsModelDatasetSpecification[] | nullarchivedbooleanGET /v1/model unless archived=true.enabledbooleantagsstring[]sensitivitiesSensitivitySpecification[]inputAggregationsInputAggregation[]outputFileFormat"json" | "csv" | "parquet"displayTimezonestringforecastVariableForecastVariableSpecificationisOwnerbooleanError codes
curl "https://api.v2.pd4castr.com.au/v1/model?archived=false&timeHorizon=day_ahead" \
-H "Authorization: Bearer $PD4CASTR_TOKEN"[
{
"id": "d2f4e0c0-1c1a-4f7c-9b6c-3a4f2c1c1f8d",
"modelGroupId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "demand-forecast-r3",
"displayName": "Demand Forecast (30min)",
"notes": "Retraining cadence: weekly.",
"description": "Day-ahead electricity demand forecast for NEM regions.",
"revision": 3,
"dockerImage": "registry.pd4castr.com.au/acme/demand-forecast:r3",
"createdAt": "2026-01-09T10:00:00.000Z",
"runMode": "AUTOMATIC",
"horizon": {
"name": "Day Ahead",
"shortName": "DA",
"key": "day_ahead"
},
"modelMetadata": {
"resolution": "30min"
},
"outputVariables": [
{
"name": "price",
"key": "price",
"type": "float",
"seriesKey": false,
"colours": []
}
],
"outputSpecification": [],
"inputs": [
{
"id": "b2f4e0c0-1c1a-4f7c-9b6c-3a4f2c1c1f8d",
"key": "demand_forecast"
}
],
"datasets": [
{
"id": "c4e1a0d2-9b6c-4f7c-8a1e-2f3c4d5e6f70",
"key": "historical_demand",
"source": "e6f3c2b1-7a5d-4c9e-8b2f-1d3e4f5a6b7c",
"fileFormat": "parquet"
}
],
"archived": false,
"enabled": true,
"tags": [
"demand",
"nem"
],
"sensitivities": [
{
"id": "7c1d6c9f-0a8e-4f7c-9b6c-3a4f2c1c1f8d",
"name": "High demand",
"key": "high_demand"
}
],
"inputAggregations": [
{
"id": "9a2c1e7b-4d3f-4a8c-b1e2-5f6a7c8d9e0f",
"name": "Solar & Wind",
"key": "solar-wind"
}
],
"outputFileFormat": "json",
"displayTimezone": "Australia/Sydney",
"forecastVariable": {
"name": "Price",
"shortName": "price",
"key": "price"
},
"isOwner": true
},
{
"id": "a3b5c6d7-2c1a-4f7c-9b6c-3a4f2c1c1f8d",
"modelGroupId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "demand-forecast-r2",
"displayName": "Demand Forecast (30min)",
"notes": "Retraining cadence: weekly.",
"description": "Day-ahead electricity demand forecast for NEM regions.",
"revision": 2,
"dockerImage": "registry.pd4castr.com.au/acme/demand-forecast:r2",
"createdAt": "2025-11-04T10:00:00.000Z",
"runMode": "AUTOMATIC",
"horizon": {
"name": "Day Ahead",
"shortName": "DA",
"key": "day_ahead"
},
"modelMetadata": {
"resolution": "30min"
},
"outputVariables": [
{
"name": "price",
"key": "price",
"type": "float",
"seriesKey": false,
"colours": []
}
],
"outputSpecification": [],
"inputs": [
{
"id": "b2f4e0c0-1c1a-4f7c-9b6c-3a4f2c1c1f8d",
"key": "demand_forecast"
}
],
"datasets": [
{
"id": "c4e1a0d2-9b6c-4f7c-8a1e-2f3c4d5e6f70",
"key": "historical_demand",
"source": "e6f3c2b1-7a5d-4c9e-8b2f-1d3e4f5a6b7c",
"fileFormat": "parquet"
}
],
"archived": false,
"enabled": true,
"tags": [
"demand",
"nem"
],
"sensitivities": [
{
"id": "7c1d6c9f-0a8e-4f7c-9b6c-3a4f2c1c1f8d",
"name": "High demand",
"key": "high_demand"
}
],
"inputAggregations": [
{
"id": "9a2c1e7b-4d3f-4a8c-b1e2-5f6a7c8d9e0f",
"name": "Solar & Wind",
"key": "solar-wind"
}
],
"outputFileFormat": "json",
"displayTimezone": "Australia/Sydney",
"forecastVariable": {
"name": "Price",
"shortName": "price",
"key": "price"
},
"isOwner": true
}
]Get a model
Returns a single model by its unique id.
Parameters
idstringrequired
Returns
idstringmodelGroupIdstringnamestringdisplayNamestringnotesstring | nulldescriptionstringrevisionnumberdockerImagestringcreatedAtstringrunMode"AUTOMATIC" | "ON_DEMAND"horizonTimeHorizonmodelMetadataobjectoutputVariablesOutputVariable[]outputSpecificationColumnSpecification[]deprecated
outputVariables instead.inputsModelInputSpecification[] | nulldatasetsModelDatasetSpecification[] | nullarchivedbooleanGET /v1/model unless archived=true.enabledbooleantagsstring[]sensitivitiesSensitivitySpecification[]inputAggregationsInputAggregation[]outputFileFormat"json" | "csv" | "parquet"displayTimezonestringforecastVariableForecastVariableSpecificationisOwnerbooleanError codes
curl "https://api.v2.pd4castr.com.au/v1/model/d2f4e0c0-1c1a-4f7c-9b6c-3a4f2c1c1f8d" \
-H "Authorization: Bearer $PD4CASTR_TOKEN"{
"id": "d2f4e0c0-1c1a-4f7c-9b6c-3a4f2c1c1f8d",
"modelGroupId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "demand-forecast-r3",
"displayName": "Demand Forecast (30min)",
"notes": "Retraining cadence: weekly.",
"description": "Day-ahead electricity demand forecast for NEM regions.",
"revision": 3,
"dockerImage": "registry.pd4castr.com.au/acme/demand-forecast:r3",
"createdAt": "2026-01-09T10:00:00.000Z",
"runMode": "AUTOMATIC",
"horizon": {
"name": "Day Ahead",
"shortName": "DA",
"key": "day_ahead"
},
"modelMetadata": {
"resolution": "30min"
},
"outputVariables": [
{
"name": "price",
"key": "price",
"type": "float",
"seriesKey": false,
"colours": []
}
],
"outputSpecification": [],
"inputs": [
{
"id": "b2f4e0c0-1c1a-4f7c-9b6c-3a4f2c1c1f8d",
"key": "demand_forecast"
}
],
"datasets": [
{
"id": "c4e1a0d2-9b6c-4f7c-8a1e-2f3c4d5e6f70",
"key": "historical_demand",
"source": "e6f3c2b1-7a5d-4c9e-8b2f-1d3e4f5a6b7c",
"fileFormat": "parquet"
}
],
"archived": false,
"enabled": true,
"tags": [
"demand",
"nem"
],
"sensitivities": [
{
"id": "7c1d6c9f-0a8e-4f7c-9b6c-3a4f2c1c1f8d",
"name": "High demand",
"key": "high_demand"
}
],
"inputAggregations": [
{
"id": "9a2c1e7b-4d3f-4a8c-b1e2-5f6a7c8d9e0f",
"name": "Solar & Wind",
"key": "solar-wind"
}
],
"outputFileFormat": "json",
"displayTimezone": "Australia/Sydney",
"forecastVariable": {
"name": "Price",
"shortName": "price",
"key": "price"
},
"isOwner": true
}List a model's sensitivities
Returns the sensitivity configurations available for the model.
Parameters
idstringrequired
Returns
idstringnamestringkeystringError codes
curl "https://api.v2.pd4castr.com.au/v1/model/d2f4e0c0-1c1a-4f7c-9b6c-3a4f2c1c1f8d/sensitivities" \
-H "Authorization: Bearer $PD4CASTR_TOKEN"[
{
"id": "7c1d6c9f-0a8e-4f7c-9b6c-3a4f2c1c1f8d",
"name": "High demand",
"key": "high_demand"
},
{
"id": "8d2e7d0f-1b9f-5a8d-ac7d-4b5e3d2d2g9e",
"name": "Low demand",
"key": "low_demand"
}
]Archive a model
Marks the model as archived. Archived models are excluded from default list responses but keep running on schedule and remain fetchable by id.
Parameters
idstringrequired
Returns
The updated model.
idstringmodelGroupIdstringnamestringdisplayNamestringnotesstring | nulldescriptionstringrevisionnumberdockerImagestringcreatedAtstringrunMode"AUTOMATIC" | "ON_DEMAND"horizonTimeHorizonmodelMetadataobjectoutputVariablesOutputVariable[]outputSpecificationColumnSpecification[]deprecated
outputVariables instead.inputsModelInputSpecification[] | nulldatasetsModelDatasetSpecification[] | nullarchivedbooleanGET /v1/model unless archived=true.enabledbooleantagsstring[]sensitivitiesSensitivitySpecification[]inputAggregationsInputAggregation[]outputFileFormat"json" | "csv" | "parquet"displayTimezonestringforecastVariableForecastVariableSpecificationisOwnerbooleanError codes
curl -X POST "https://api.v2.pd4castr.com.au/v1/model/d2f4e0c0-1c1a-4f7c-9b6c-3a4f2c1c1f8d/archive" \
-H "Authorization: Bearer $PD4CASTR_TOKEN"{
"id": "d2f4e0c0-1c1a-4f7c-9b6c-3a4f2c1c1f8d",
"modelGroupId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "demand-forecast-r3",
"displayName": "Demand Forecast (30min)",
"notes": "Retraining cadence: weekly.",
"description": "Day-ahead electricity demand forecast for NEM regions.",
"revision": 3,
"dockerImage": "registry.pd4castr.com.au/acme/demand-forecast:r3",
"createdAt": "2026-01-09T10:00:00.000Z",
"runMode": "AUTOMATIC",
"horizon": {
"name": "Day Ahead",
"shortName": "DA",
"key": "day_ahead"
},
"modelMetadata": {
"resolution": "30min"
},
"outputVariables": [
{
"name": "price",
"key": "price",
"type": "float",
"seriesKey": false,
"colours": []
}
],
"outputSpecification": [],
"inputs": [
{
"id": "b2f4e0c0-1c1a-4f7c-9b6c-3a4f2c1c1f8d",
"key": "demand_forecast"
}
],
"datasets": [
{
"id": "c4e1a0d2-9b6c-4f7c-8a1e-2f3c4d5e6f70",
"key": "historical_demand",
"source": "e6f3c2b1-7a5d-4c9e-8b2f-1d3e4f5a6b7c",
"fileFormat": "parquet"
}
],
"archived": true,
"enabled": true,
"tags": [
"demand",
"nem"
],
"sensitivities": [
{
"id": "7c1d6c9f-0a8e-4f7c-9b6c-3a4f2c1c1f8d",
"name": "High demand",
"key": "high_demand"
}
],
"inputAggregations": [
{
"id": "9a2c1e7b-4d3f-4a8c-b1e2-5f6a7c8d9e0f",
"name": "Solar & Wind",
"key": "solar-wind"
}
],
"outputFileFormat": "json",
"displayTimezone": "Australia/Sydney",
"forecastVariable": {
"name": "Price",
"shortName": "price",
"key": "price"
},
"isOwner": true
}Unarchive a model
Clears the archived flag; the model returns to default list responses.
Parameters
idstringrequired
Returns
The updated model.
idstringmodelGroupIdstringnamestringdisplayNamestringnotesstring | nulldescriptionstringrevisionnumberdockerImagestringcreatedAtstringrunMode"AUTOMATIC" | "ON_DEMAND"horizonTimeHorizonmodelMetadataobjectoutputVariablesOutputVariable[]outputSpecificationColumnSpecification[]deprecated
outputVariables instead.inputsModelInputSpecification[] | nulldatasetsModelDatasetSpecification[] | nullarchivedbooleanGET /v1/model unless archived=true.enabledbooleantagsstring[]sensitivitiesSensitivitySpecification[]inputAggregationsInputAggregation[]outputFileFormat"json" | "csv" | "parquet"displayTimezonestringforecastVariableForecastVariableSpecificationisOwnerbooleanError codes
curl -X POST "https://api.v2.pd4castr.com.au/v1/model/d2f4e0c0-1c1a-4f7c-9b6c-3a4f2c1c1f8d/unarchive" \
-H "Authorization: Bearer $PD4CASTR_TOKEN"{
"id": "d2f4e0c0-1c1a-4f7c-9b6c-3a4f2c1c1f8d",
"modelGroupId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "demand-forecast-r3",
"displayName": "Demand Forecast (30min)",
"notes": "Retraining cadence: weekly.",
"description": "Day-ahead electricity demand forecast for NEM regions.",
"revision": 3,
"dockerImage": "registry.pd4castr.com.au/acme/demand-forecast:r3",
"createdAt": "2026-01-09T10:00:00.000Z",
"runMode": "AUTOMATIC",
"horizon": {
"name": "Day Ahead",
"shortName": "DA",
"key": "day_ahead"
},
"modelMetadata": {
"resolution": "30min"
},
"outputVariables": [
{
"name": "price",
"key": "price",
"type": "float",
"seriesKey": false,
"colours": []
}
],
"outputSpecification": [],
"inputs": [
{
"id": "b2f4e0c0-1c1a-4f7c-9b6c-3a4f2c1c1f8d",
"key": "demand_forecast"
}
],
"datasets": [
{
"id": "c4e1a0d2-9b6c-4f7c-8a1e-2f3c4d5e6f70",
"key": "historical_demand",
"source": "e6f3c2b1-7a5d-4c9e-8b2f-1d3e4f5a6b7c",
"fileFormat": "parquet"
}
],
"archived": false,
"enabled": true,
"tags": [
"demand",
"nem"
],
"sensitivities": [
{
"id": "7c1d6c9f-0a8e-4f7c-9b6c-3a4f2c1c1f8d",
"name": "High demand",
"key": "high_demand"
}
],
"inputAggregations": [
{
"id": "9a2c1e7b-4d3f-4a8c-b1e2-5f6a7c8d9e0f",
"name": "Solar & Wind",
"key": "solar-wind"
}
],
"outputFileFormat": "json",
"displayTimezone": "Australia/Sydney",
"forecastVariable": {
"name": "Price",
"shortName": "price",
"key": "price"
},
"isOwner": true
}Trigger a model run
Queues an on-demand run of the model, plus a run for each of its sensitivities. Returns the queued jobs immediately; poll the run endpoints for completion.
Parameters
idstringrequired
Returns
The queued jobs, one per base run and sensitivity.
idstringmodelIdstringtriggerProgressIdstringsensitivityIdstring | nullmodelRunIdstring | nullstatus"PENDING" | "PROCESSING" | "COMPLETED" | "FAILED" | "CANCELLED"prioritynumberrunDatetimestringcreatedAtstringError codes
curl -X POST "https://api.v2.pd4castr.com.au/v1/model/d2f4e0c0-1c1a-4f7c-9b6c-3a4f2c1c1f8d/trigger" \
-H "Authorization: Bearer $PD4CASTR_TOKEN"[
{
"id": "0f6c2b1a-9d3e-4c8a-9f2b-1a2c3d4e5f60",
"modelId": "d2f4e0c0-1c1a-4f7c-9b6c-3a4f2c1c1f8d",
"triggerProgressId": "3b9d8c7e-2a1f-4d6b-8e5c-7f0a1b2c3d4e",
"sensitivityId": null,
"modelRunId": null,
"status": "PENDING",
"priority": 0,
"runDatetime": "2026-04-12T00:00:00.000Z",
"createdAt": "2026-04-12T03:14:15.000Z"
}
]