Get a prediction
Retrieves a single prediction by project and prediction ID. Does not include the power plant; use the Power Plant endpoint for that.
Parameters:
-
projectId(path, required): The project ID. -
predictionId(path, required): The prediction ID.
curl --request GET \
--url https://api.plantpredict.terabase.energy/Project/{projectId}/Prediction/{predictionId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.plantpredict.terabase.energy/Project/{projectId}/Prediction/{predictionId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.plantpredict.terabase.energy/Project/{projectId}/Prediction/{predictionId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.plantpredict.terabase.energy/Project/{projectId}/Prediction/{predictionId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.plantpredict.terabase.energy/Project/{projectId}/Prediction/{predictionId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.plantpredict.terabase.energy/Project/{projectId}/Prediction/{predictionId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.plantpredict.terabase.energy/Project/{projectId}/Prediction/{predictionId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"powerPlant": null,
"status": 2,
"start": "2005-01-01T00:00:00",
"end": "2005-12-31T23:00:00",
"lastPublishedDateToQueue": null,
"startIndex": 0,
"endIndex": 0,
"yearRepeater": 1,
"transpositionModel": 1,
"perezCoefficients": 0,
"diffuseDirectDecompModel": 3,
"circumsolarTreatment": 0,
"diffuseDirectDecompModelExecuted": false,
"useMeteoDni": false,
"useMeteoPOAI": false,
"useBacksidePOAI": false,
"useLeapYears": false,
"useWeatherFileAlbedoData": false,
"useMetastability": false,
"enableLeTID": false,
"airMassModel": 0,
"soilingModel": 0,
"modTempModel": 0,
"incAngleModel": 5,
"directBeamShadingModel": 5,
"degradationModel": 0,
"diffuseShadingModel": 1,
"linearDegradationRate": 0.5,
"firstYearDegradation": false,
"nonLinearDegradationRates": [],
"lightAndElevatedTemperatureDegradationRates": [],
"errorModelAcc": 2.9,
"errorSensAcc": 5,
"errorIntAnnVar": 3,
"errorMonAcc": 2,
"errorSpaVar": 2,
"siteResultList": null,
"spectralShiftModel": 2,
"spectralWeatherType": 0,
"powerPlantId": 1185523,
"monthlyFactors": [
{
"id": 49207459,
"month": 1,
"monthName": "Jan",
"soilingLoss": 2,
"albedo": 0.2,
"spectralShift": null
},
{
"id": 49207460,
"month": 2,
"monthName": "Feb",
"soilingLoss": 2,
"albedo": 0.2,
"spectralShift": null
},
{
"id": 49207461,
"month": 3,
"monthName": "Mar",
"soilingLoss": 2,
"albedo": 0.2,
"spectralShift": null
},
{
"id": 49207462,
"month": 4,
"monthName": "Apr",
"soilingLoss": 2,
"albedo": 0.2,
"spectralShift": null
},
{
"id": 49207463,
"month": 5,
"monthName": "May",
"soilingLoss": 2,
"albedo": 0.2,
"spectralShift": null
},
{
"id": 49207464,
"month": 6,
"monthName": "Jun",
"soilingLoss": 2,
"albedo": 0.2,
"spectralShift": null
},
{
"id": 49207465,
"month": 7,
"monthName": "Jul",
"soilingLoss": 2,
"albedo": 0.2,
"spectralShift": null
},
{
"id": 49207466,
"month": 8,
"monthName": "Aug",
"soilingLoss": 2,
"albedo": 0.2,
"spectralShift": null
},
{
"id": 49207467,
"month": 9,
"monthName": "Sep",
"soilingLoss": 2,
"albedo": 0.2,
"spectralShift": null
},
{
"id": 49207468,
"month": 10,
"monthName": "Oct",
"soilingLoss": 2,
"albedo": 0.2,
"spectralShift": null
},
{
"id": 49207469,
"month": 11,
"monthName": "Nov",
"soilingLoss": 2,
"albedo": 0.2,
"spectralShift": null
},
{
"id": 49207470,
"month": 12,
"monthName": "Dec",
"soilingLoss": 2,
"albedo": 0.2,
"spectralShift": null
}
],
"horizonDetails": [],
"ashraeStation": "TOLEDO CGS, OH, USA",
"ashraeVersion": 2021,
"heat996": null,
"cool996": 32.5,
"max50Year": 39.4,
"min50Year": -30.3,
"minAnnualMeanDBTemp": -19.1,
"elevation": 184,
"timeZone": -5,
"weather": null,
"weatherId": 230763,
"project": {
"latitude": 41.6528052,
"longitude": -83.5378674,
"country": "United States",
"countryCode": "US",
"stateProvince": "Ohio",
"stateProvinceCode": "OH",
"locality": "Toledo",
"region": "North America",
"elevation": 178.5460357666016,
"standardOffsetFromUTC": -5,
"predictions": [],
"status": 0,
"distance": 0,
"id": 187749,
"name": "Doc Generation",
"description": null,
"companyId": 1042,
"company": null,
"ownerId": 8903,
"owner": null,
"createdDate": "2024-10-23T13:04:30.243",
"lastModified": "2024-10-23T13:04:30.243",
"lastModifiedById": 8903,
"lastModifiedBy": null
},
"projectId": 187749,
"resultSummary": null,
"resultSummaryId": null,
"financialModelParameters": null,
"financialModelParametersId": null,
"cashflowSummaryResult": null,
"cashflowSummaryResultId": null,
"shadeSceneProperties": {
"id": 4297,
"name": "Custom Shade Scene",
"createdDateUTC": "2025-11-25T17:16:52.387",
"createdById": 8903,
"sceneSurfaceArea": 34952.621141703195,
"dcFieldSurfaceArea": 14461.598249999997,
"collectorCount": 177,
"objectCount": 0,
"orientationTargetDCField": 3387869,
"calculationSettingsTargetDCField": 3387869,
"siteTableCount": 177,
"rotation": false,
"customTableRotationScheduleName": null,
"customTableRotationUploadDate": null,
"binType": 2,
"collectorType": 0,
"trackerRotationModel": 0,
"shadingModel": 6,
"fractionalShadingPercentage": 100,
"numberOfModuleFractions": 3,
"shadeObjectType": 1,
"siteExceedsTableLimit": false,
"engineInputData": null
},
"shadeScenePropertiesId": 4297,
"shadeEngineRunInfo": {
"id": 6806,
"runId": "955415-XJRPTVDWQZ",
"percentComplete": 0,
"processingStatus": 0,
"lastPublishedDateToQueue": "2025-11-25T16:59:49.907",
"runStartedDateTimeUTC": "2025-11-25T16:59:50.513",
"runCompletedDateTimeUTC": "2025-11-25T17:00:32.183",
"isInverterMultiRun": false,
"inverterRunSuccesses": 0,
"inverterRunFailures": 0,
"inverterRunInfo": null
},
"shadeEngineRunInfo_Id": 6806,
"shading3DModel": 0,
"tabtEngineRunInfo": {
"id": 802,
"runId": "955415-DJYHQLJVVN",
"percentComplete": 100,
"engineProcessingStatus": 3,
"optimizationProcessingStatus": 0,
"transpositionProcessingStatus": 3,
"lastPublishedDateToQueue": "2025-11-25T16:57:55.91",
"runStartedDateTimeUTC": "2025-11-25T16:57:56.69",
"runCompletedDateTimeUTC": "2025-11-25T16:58:01.973"
},
"tabtEngineRunInfo_Id": 802,
"percentComplete": 0,
"processingStatus": 0,
"processingStep": 0,
"processingMessage": "Unknown",
"resultDetail": null,
"pValues": [],
"isReadOnly": false,
"pValuesString": "",
"nodalData": false,
"hasTimeSeriesData": false,
"isBatch": false,
"batchPredictionId": null,
"childPredictions": [],
"batchStepVariable": [],
"batchQualified": true,
"logicVersion": 12,
"mapKML": null,
"mapBuilderCreateDCAs": 0,
"useMapBuilder": false,
"mapDesignData": null,
"setback": 0,
"targetDC": 0,
"weatherLocked": false,
"electricalShadingFractionalEffect": 100,
"numberOfModuleFractions": 0,
"timeSeriesData": [],
"numOfBlocks": 0,
"numOfWeatherDetails": 0,
"hasObjectShading": false,
"numOfShadingObjects": 0,
"reports": null,
"reportsId": 941620,
"canImportAlbedoData": true,
"queueMessageId": null,
"queuePopReceipt": null,
"runningOnVMName": null,
"runCompletedDateTimeUTC": null,
"useSpectral30": false,
"spectral30B0": -0.0967,
"spectral30B1": 0.0126,
"spectral30B2": 0,
"spectral30B3": 0.00223,
"spectral30B4": 0,
"spectral30B5": 0,
"spectral30B6": 1.086,
"id": 955415,
"name": "Scene Documentation",
"description": null,
"companyId": 1042,
"company": null,
"ownerId": 8903,
"owner": null,
"createdDate": "2025-11-25T16:21:07.213",
"lastModified": "2025-11-25T16:22:16.553",
"lastModifiedById": 8903
}"Project not found.""An error has occurred."Authorizations
Pass Authorization: Bearer <token> on every request. See the Authentication section of the API description for how to fetch a token.
Response
Prediction entity
PredictionStatusEnum
1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ISO-8601 datetime as returned by the PlantPredict API. May or may not include a timezone offset; treat as server-local when no offset is present.
ISO-8601 datetime as returned by the PlantPredict API. May or may not include a timezone offset; treat as server-local when no offset is present.
TranspositionModelType
0, 1 PerezCoefficientsEnum
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 DiffuseDirectDecompModelType
0, 1, 2, 3 CircumsolarTreatmentType
0, 1 AirMassModelType
0, 1 SoilingModelType
0, 1, 2 ModuleTemperatureModelType
0, 1, 2, 3 IncidenceAngleModelType
2, 3, 4, 5, 6 DirectBeamShadingModel
0, 1, 2, 3, 5, 6 DegradationModel
0, 1, 2, 3, 4 DiffuseShadingModel
0, 1 SpectralShiftModel
0, 1, 2, 3 AshraeVersionEnum
0, 1 PredictionVersionEnum
3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 Show child attributes
Show child attributes
curl --request GET \
--url https://api.plantpredict.terabase.energy/Project/{projectId}/Prediction/{predictionId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.plantpredict.terabase.energy/Project/{projectId}/Prediction/{predictionId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.plantpredict.terabase.energy/Project/{projectId}/Prediction/{predictionId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.plantpredict.terabase.energy/Project/{projectId}/Prediction/{predictionId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.plantpredict.terabase.energy/Project/{projectId}/Prediction/{predictionId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.plantpredict.terabase.energy/Project/{projectId}/Prediction/{predictionId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.plantpredict.terabase.energy/Project/{projectId}/Prediction/{predictionId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"powerPlant": null,
"status": 2,
"start": "2005-01-01T00:00:00",
"end": "2005-12-31T23:00:00",
"lastPublishedDateToQueue": null,
"startIndex": 0,
"endIndex": 0,
"yearRepeater": 1,
"transpositionModel": 1,
"perezCoefficients": 0,
"diffuseDirectDecompModel": 3,
"circumsolarTreatment": 0,
"diffuseDirectDecompModelExecuted": false,
"useMeteoDni": false,
"useMeteoPOAI": false,
"useBacksidePOAI": false,
"useLeapYears": false,
"useWeatherFileAlbedoData": false,
"useMetastability": false,
"enableLeTID": false,
"airMassModel": 0,
"soilingModel": 0,
"modTempModel": 0,
"incAngleModel": 5,
"directBeamShadingModel": 5,
"degradationModel": 0,
"diffuseShadingModel": 1,
"linearDegradationRate": 0.5,
"firstYearDegradation": false,
"nonLinearDegradationRates": [],
"lightAndElevatedTemperatureDegradationRates": [],
"errorModelAcc": 2.9,
"errorSensAcc": 5,
"errorIntAnnVar": 3,
"errorMonAcc": 2,
"errorSpaVar": 2,
"siteResultList": null,
"spectralShiftModel": 2,
"spectralWeatherType": 0,
"powerPlantId": 1185523,
"monthlyFactors": [
{
"id": 49207459,
"month": 1,
"monthName": "Jan",
"soilingLoss": 2,
"albedo": 0.2,
"spectralShift": null
},
{
"id": 49207460,
"month": 2,
"monthName": "Feb",
"soilingLoss": 2,
"albedo": 0.2,
"spectralShift": null
},
{
"id": 49207461,
"month": 3,
"monthName": "Mar",
"soilingLoss": 2,
"albedo": 0.2,
"spectralShift": null
},
{
"id": 49207462,
"month": 4,
"monthName": "Apr",
"soilingLoss": 2,
"albedo": 0.2,
"spectralShift": null
},
{
"id": 49207463,
"month": 5,
"monthName": "May",
"soilingLoss": 2,
"albedo": 0.2,
"spectralShift": null
},
{
"id": 49207464,
"month": 6,
"monthName": "Jun",
"soilingLoss": 2,
"albedo": 0.2,
"spectralShift": null
},
{
"id": 49207465,
"month": 7,
"monthName": "Jul",
"soilingLoss": 2,
"albedo": 0.2,
"spectralShift": null
},
{
"id": 49207466,
"month": 8,
"monthName": "Aug",
"soilingLoss": 2,
"albedo": 0.2,
"spectralShift": null
},
{
"id": 49207467,
"month": 9,
"monthName": "Sep",
"soilingLoss": 2,
"albedo": 0.2,
"spectralShift": null
},
{
"id": 49207468,
"month": 10,
"monthName": "Oct",
"soilingLoss": 2,
"albedo": 0.2,
"spectralShift": null
},
{
"id": 49207469,
"month": 11,
"monthName": "Nov",
"soilingLoss": 2,
"albedo": 0.2,
"spectralShift": null
},
{
"id": 49207470,
"month": 12,
"monthName": "Dec",
"soilingLoss": 2,
"albedo": 0.2,
"spectralShift": null
}
],
"horizonDetails": [],
"ashraeStation": "TOLEDO CGS, OH, USA",
"ashraeVersion": 2021,
"heat996": null,
"cool996": 32.5,
"max50Year": 39.4,
"min50Year": -30.3,
"minAnnualMeanDBTemp": -19.1,
"elevation": 184,
"timeZone": -5,
"weather": null,
"weatherId": 230763,
"project": {
"latitude": 41.6528052,
"longitude": -83.5378674,
"country": "United States",
"countryCode": "US",
"stateProvince": "Ohio",
"stateProvinceCode": "OH",
"locality": "Toledo",
"region": "North America",
"elevation": 178.5460357666016,
"standardOffsetFromUTC": -5,
"predictions": [],
"status": 0,
"distance": 0,
"id": 187749,
"name": "Doc Generation",
"description": null,
"companyId": 1042,
"company": null,
"ownerId": 8903,
"owner": null,
"createdDate": "2024-10-23T13:04:30.243",
"lastModified": "2024-10-23T13:04:30.243",
"lastModifiedById": 8903,
"lastModifiedBy": null
},
"projectId": 187749,
"resultSummary": null,
"resultSummaryId": null,
"financialModelParameters": null,
"financialModelParametersId": null,
"cashflowSummaryResult": null,
"cashflowSummaryResultId": null,
"shadeSceneProperties": {
"id": 4297,
"name": "Custom Shade Scene",
"createdDateUTC": "2025-11-25T17:16:52.387",
"createdById": 8903,
"sceneSurfaceArea": 34952.621141703195,
"dcFieldSurfaceArea": 14461.598249999997,
"collectorCount": 177,
"objectCount": 0,
"orientationTargetDCField": 3387869,
"calculationSettingsTargetDCField": 3387869,
"siteTableCount": 177,
"rotation": false,
"customTableRotationScheduleName": null,
"customTableRotationUploadDate": null,
"binType": 2,
"collectorType": 0,
"trackerRotationModel": 0,
"shadingModel": 6,
"fractionalShadingPercentage": 100,
"numberOfModuleFractions": 3,
"shadeObjectType": 1,
"siteExceedsTableLimit": false,
"engineInputData": null
},
"shadeScenePropertiesId": 4297,
"shadeEngineRunInfo": {
"id": 6806,
"runId": "955415-XJRPTVDWQZ",
"percentComplete": 0,
"processingStatus": 0,
"lastPublishedDateToQueue": "2025-11-25T16:59:49.907",
"runStartedDateTimeUTC": "2025-11-25T16:59:50.513",
"runCompletedDateTimeUTC": "2025-11-25T17:00:32.183",
"isInverterMultiRun": false,
"inverterRunSuccesses": 0,
"inverterRunFailures": 0,
"inverterRunInfo": null
},
"shadeEngineRunInfo_Id": 6806,
"shading3DModel": 0,
"tabtEngineRunInfo": {
"id": 802,
"runId": "955415-DJYHQLJVVN",
"percentComplete": 100,
"engineProcessingStatus": 3,
"optimizationProcessingStatus": 0,
"transpositionProcessingStatus": 3,
"lastPublishedDateToQueue": "2025-11-25T16:57:55.91",
"runStartedDateTimeUTC": "2025-11-25T16:57:56.69",
"runCompletedDateTimeUTC": "2025-11-25T16:58:01.973"
},
"tabtEngineRunInfo_Id": 802,
"percentComplete": 0,
"processingStatus": 0,
"processingStep": 0,
"processingMessage": "Unknown",
"resultDetail": null,
"pValues": [],
"isReadOnly": false,
"pValuesString": "",
"nodalData": false,
"hasTimeSeriesData": false,
"isBatch": false,
"batchPredictionId": null,
"childPredictions": [],
"batchStepVariable": [],
"batchQualified": true,
"logicVersion": 12,
"mapKML": null,
"mapBuilderCreateDCAs": 0,
"useMapBuilder": false,
"mapDesignData": null,
"setback": 0,
"targetDC": 0,
"weatherLocked": false,
"electricalShadingFractionalEffect": 100,
"numberOfModuleFractions": 0,
"timeSeriesData": [],
"numOfBlocks": 0,
"numOfWeatherDetails": 0,
"hasObjectShading": false,
"numOfShadingObjects": 0,
"reports": null,
"reportsId": 941620,
"canImportAlbedoData": true,
"queueMessageId": null,
"queuePopReceipt": null,
"runningOnVMName": null,
"runCompletedDateTimeUTC": null,
"useSpectral30": false,
"spectral30B0": -0.0967,
"spectral30B1": 0.0126,
"spectral30B2": 0,
"spectral30B3": 0.00223,
"spectral30B4": 0,
"spectral30B5": 0,
"spectral30B6": 1.086,
"id": 955415,
"name": "Scene Documentation",
"description": null,
"companyId": 1042,
"company": null,
"ownerId": 8903,
"owner": null,
"createdDate": "2025-11-25T16:21:07.213",
"lastModified": "2025-11-25T16:22:16.553",
"lastModifiedById": 8903
}"Project not found.""An error has occurred."