Terabase Energy Project API

The Project API from Terabase Energy — 47 operation(s) for project.

Operations 60

GET /Project/{id} Get a Project by Id.
DELETE /Project/{id} Delete a Project by Id.
PUT /Project/{id} Update a Project.
GET /Project/My Get all Projects you own.
GET /Project/Search Get Projects for which you have access and are within a certain mile radius of a latitude, longitude point.
GET /Project/{projectId}/Overview Get a summary overview of a Project by Id.
POST /Project Create a Project.
POST /Project/Import/PVsyst Import a PVsyst project from a ZIP export.
GET /Project/Import/PVsyst/{jobId} Check the progress and outcome of a PVsyst import.
GET /Project/{projectId}/Prediction/{predictionId}/WindStow Get Wind Stow parameters for a Prediction.
GET /Project/{projectId}/Prediction/{predictionId} Get a Prediction by Project Id and Prediction Id.
DELETE /Project/{projectId}/Prediction/{predictionId} Delete a Prediction by Project Id and Prediction Id.
GET /Project/{projectId}/Prediction Get Predictions by Project Id.
PUT /Project/{projectId}/Prediction Update a Prediction.
POST /Project/{projectId}/Prediction Create a Prediction for a Project.
GET /Project/{projectId}/Prediction/{predictionId}/Overview Get Prediction summary overview by Project Id and Prediction Id.
GET /Project/{projectId}/Prediction/{predictionId}/Hydrated Returns a fully hydrated prediction object (includes power plant, financial results, simulation results).
GET /Project/{projectId}/Prediction/{predictionId}/Export Export a Prediction by Project Id and Prediction Id.
PUT /Project/{projectId}/TitleUpdate/Prediction Updates just the name of a Prediction without requiring a full entity update.
PUT /Project/{projectId}/NotesUpdate/Prediction This operation will update the Prediction notes without deleting any results that may exist.
POST /Project/{projectId}/Prediction/{predictionId}/Run Run a Prediction by Project Id and Prediction Id.
POST /Project/{projectId}/Prediction/{predictionId}/Cancel Cancel a Prediction for a Project Id and Prediction Id.
GET /Project/{projectId}/Prediction/{predictionId}/GetAlbedoData Gets the Albedo data for the specified prediction from NSRDB / NASA
GET /Project/{projectId}/Prediction/{predictionId}/GetPVRadarSoilingData Gets the monthly soiling data for the specified prediction from PVRadar
GET /Project/{projectId}/Prediction/{predictionId}/GetFracsunSoilingData Gets the monthly soiling data for the specified prediction from Fracsun
GET /Project/{projectId}/Prediction/{predictionId}/ProcessingStatus Gets explicitly the processing status and percent complete for the specified prediction
GET /Project/{projectId}/Prediction/{predictionId}/Clone Clone a Prediction.
GET /Project/{projectId}/Prediction/{predictionId}/ResultSummary Get summary results for a Prediction by Project Id and Prediction Id.
GET /Project/{projectId}/Prediction/{predictionId}/ResultSummary/Common Get summary results using common logic.
GET /Project/{projectId}/Prediction/{predictionId}/ResultDetails Get detailed results for a Prediction by Project Id and Prediction Id.
GET /Project/{projectId}/Prediction/{predictionId}/Nodal Get Nodal Data CSV file for a Prediction by Project Id and Prediction Id.
GET /Project/{projectId}/Prediction/{predictionId}/NodalJson Get Nodal Data JSON for a Prediction by Project Id and Prediction Id, with optional parameters.
GET /Project/{projectId}/Prediction/{predictionId}/PowerPlant Get the Power Plant for a Prediction.
PUT /Project/{projectId}/Prediction/{predictionId}/PowerPlant Update the Power Plant for a Prediction.
POST /Project/{projectId}/Prediction/{predictionId}/PowerPlant Create a Power Plant for a Prediction.
GET /Project/{projectId}/Prediction/{predictionId}/TimeSeriesData/Template Get Time Series data CSV template.
GET /Project/{projectId}/Prediction/{predictionId}/TimeSeriesData Get Time Series data.
PUT /Project/{projectId}/Prediction/{predictionId}/TimeSeriesData Update Time Series data via file upload.
POST /Project/{projectId}/Prediction/{predictionId}/TimeSeriesData Add Time Series data via JSON.
PUT /Project/{projectId}/Prediction/{predictionId}/TimeSeriesData/{timeSeriesId} Update Time Series data by ID.
DELETE /Project/{projectId}/Prediction/{predictionId}/TimeSeriesData/{timeSeriesId} Delete Time Series data.
GET /Project/{projectId}/Prediction/{predictionId}/TimeSeriesData/{timeSeriesId}/Details Get Time Series details.
GET /Project/{projectId}/Prediction/{predictionId}/TimeSeriesData/{timeSeriesId}/CSV Get Time Series CSV data.
PUT /Project/{projectId}/Prediction/{predictionId}/TimeSeriesData/{timeSeriesId}/CSV Update Time Series CSV data.
POST /Project/{projectId}/Prediction/{predictionId}/TimeSeriesData/CSV Add Time Series CSV data.
GET /Project/{projectId}/Prediction/{predictionId}/SunSolveBifacialTimeSeries Lists SunSolve bifacial time-series bundles for a prediction.
GET /Project/{projectId}/Prediction/{predictionId}/SunSolveBifacialTimeSeries/{bundleId}/Details Returns a single SunSolve bifacial bundle including its per-timestep details.
POST /Project/{projectId}/Prediction/{predictionId}/SunSolveBifacialTimeSeries/CSV Uploads a SunSolve bifacial bundle CSV. Expected format: row 1 headers (Time Series Entry, TSD Data Type, StructureShading (%), FrontBackMismatch (%), TransmissionGain (%)), row 2
PUT /Project/{projectId}/Prediction/{predictionId}/SunSolveBifacialTimeSeries/{bundleId} Renames an existing SunSolve bifacial bundle. Body: { "name": "new name" }.
DELETE /Project/{projectId}/Prediction/{predictionId}/SunSolveBifacialTimeSeries/{bundleId} Deletes a SunSolve bifacial bundle. Fails if any DC field still references it.
GET /Project/{projectId}/Prediction/{predictionId}/SunSolveBifacialTimeSeries/{bundleId}/CSV Returns the SunSolve bifacial bundle as CSV, matching the upload template format.
POST /Project/{projectId}/Prediction/{predictionId}/TimeSeriesData/Clone/{targetPredictionId} Clone Prediction Time Series.
GET /Project/{projectId}/Note Get Notes for a Project by Project Id.
POST /Project/{projectId}/Note Create Project Note by Project Id.
GET /Project/{projectId}/Prediction/{predictionId}/Note Get Notes for a Prediction by Project Id and Prediction Id.
DELETE /Project/{projectId}/Note/{noteId} Delete a Note for a Project by Project Id and Note Id.
GET /Project/{projectId}/Prediction/{predictionId}/Report/PlantBlockDetails Get the PlantBlockDetails report
GET /Project/{projectId}/Prediction/{predictionId}/ReportURL/{report} Get the URL download link for a Report
GET /Project/{projectId}/Prediction/{predictionId}/ReportInfo Get Report information
GET /Project/{projectId}/Prediction/{predictionId}/GenerateReports Generate all reports

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/terabase-energy-project-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

terabase-energy-project-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Terabase Energy Project API
  version: current
  contact:
    name: PlantPredict Support
    url: https://plantpredict.com/contact/
    email: support@plantpredict.com
  description: 'Operations tagged Project across 2 of this provider''s published API definitions: terabase-energy-plantpredict-swagger-v1-original.json, terabase-energy-project-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.plantpredict.terabase.energy
  description: Base URL declared by the provider in apis.yml (roadmap#122).
security:
- Bearer: []
tags:
- name: Project
paths:
  /Project/{id}:
    get:
      tags:
      - Project
      summary: Get a Project by Id.
      parameters:
      - name: id
        in: path
        description: ''
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/PlantPredict.Entities.Project'
            application/json:
              schema:
                $ref: '#/components/schemas/PlantPredict.Entities.Project'
            text/json:
              schema:
                $ref: '#/components/schemas/PlantPredict.Entities.Project'
    delete:
      tags:
      - Project
      summary: Delete a Project by Id.
      parameters:
      - name: id
        in: path
        description: ''
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: OK
    put:
      tags:
      - Project
      summary: Update a Project.
      description: This operation may attach a X-Message header on the response indicating a non-blocking warning about the updated entity.
      parameters:
      - name: id
        in: path
        description: Project ID from URL
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        description: ''
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/PlantPredict.Entities.Project'
          application/json:
            schema:
              $ref: '#/components/schemas/PlantPredict.Entities.Project'
          text/json:
            schema:
              $ref: '#/components/schemas/PlantPredict.Entities.Project'
          application/*+json:
            schema:
              $ref: '#/components/schemas/PlantPredict.Entities.Project'
      responses:
        '200':
          description: OK
  /Project/My:
    get:
      tags:
      - Project
      summary: Get all Projects you own.
      parameters:
      - name: status
        in: query
        schema:
          $ref: '#/components/schemas/PlantPredict.Entities.Enums.ProjectStatusEnum'
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PlantPredict.Entities.Project'
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PlantPredict.Entities.Project'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PlantPredict.Entities.Project'
  /Project/Search:
    get:
      tags:
      - Project
      summary: Get Projects for which you have access and are within a certain mile radius of a latitude, longitude point.
      parameters:
      - name: latitude
        in: query
        description: ''
        schema:
          type: number
          format: double
      - name: longitude
        in: query
        description: ''
        schema:
          type: number
          format: double
      - name: searchRadius
        in: query
        description: Miles
        schema:
          type: number
          format: double
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PlantPredict.Entities.Project'
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PlantPredict.Entities.Project'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PlantPredict.Entities.Project'
  /Project/{projectId}/Overview:
    get:
      tags:
      - Project
      summary: Get a summary overview of a Project by Id.
      description: This operations returns a summary - for the full entity, use the non-overview operation.
      parameters:
      - name: projectId
        in: path
        description: ''
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/PlantPredict.Entities.DTO.ProjectItem'
            application/json:
              schema:
                $ref: '#/components/schemas/PlantPredict.Entities.DTO.ProjectItem'
            text/json:
              schema:
                $ref: '#/components/schemas/PlantPredict.Entities.DTO.ProjectItem'
  /Project:
    post:
      tags:
      - Project
      summary: Create a Project.
      description: This operation may attach a X-Message header on the response indicating a non-blocking warning about the new entity.
      parameters:
      - name: enableMeteonormDownload
        in: query
        description: ''
        schema:
          type: boolean
          default: false
      requestBody:
        description: ''
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/PlantPredict.Entities.Project'
          application/json:
            schema:
              $ref: '#/components/schemas/PlantPredict.Entities.Project'
          text/json:
            schema:
              $ref: '#/components/schemas/PlantPredict.Entities.Project'
          application/*+json:
            schema:
              $ref: '#/components/schemas/PlantPredict.Entities.Project'
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/PlantPredict.Entities.DTO.CreateEntityInfo'
            application/json:
              schema:
                $ref: '#/components/schemas/PlantPredict.Entities.DTO.CreateEntityInfo'
            text/json:
              schema:
                $ref: '#/components/schemas/PlantPredict.Entities.DTO.CreateEntityInfo'
  /Project/Import/PVsyst:
    post:
      tags:
      - Project
      summary: Import a PVsyst project from a ZIP export.
      description: "Send the ZIP exactly as PVsyst produced it. The import runs\nasynchronously and can take several minutes, so this returns\n202 Accepted immediately with an id; poll\n`GET /Project/Import/PVsyst/{jobId}` with that id until the status\nis `Completed` or `Failed`.\n            \nEvery variant whose referenced module, inverter and weather files are in\nthe ZIP, or match a record already in your library, is imported. A\nvariant that references a file which is absent or unreadable is left out\nand reported in the status response, naming the file so you can fix the\nexport and send it again. Files are never substituted automatically."
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: string
                  format: binary
            encoding:
              file:
                style: form
      responses:
        '202':
          description: Accepted
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/PlantPredict.Entities.DTO.PVsystImportApiStartResult'
            application/json:
              schema:
                $ref: '#/components/schemas/PlantPredict.Entities.DTO.PVsystImportApiStartResult'
            text/json:
              schema:
                $ref: '#/components/schemas/PlantPredict.Entities.DTO.PVsystImportApiStartResult'
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
  /Project/Import/PVsyst/{jobId}:
    get:
      tags:
      - Project
      summary: Check the progress and outcome of a PVsyst import.
      description: "Poll this with the id returned by `POST /Project/Import/PVsyst`.\nChecking once every 10 seconds is plenty; a large export can take\nseveral minutes.\n            \n`status` is `Processing` while the import is running, then\n`Completed` or `Failed`. On `Completed`, `projectId`\nis the created project and `imported` lists the variants that\nbecame predictions. `skipped` lists variants left out, each naming\nthe file references that could not be used, so an incomplete export can\nbe fixed and sent again. On `Failed`, `errorCode` distinguishes\na problem with the ZIP from a problem on our side."
      parameters:
      - name: jobId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/PlantPredict.Entities.DTO.PVsystImportApiStatusResult'
            application/json:
              schema:
                $ref: '#/components/schemas/PlantPredict.Entities.DTO.PVsystImportApiStatusResult'
            text/json:
              schema:
                $ref: '#/components/schemas/PlantPredict.Entities.DTO.PVsystImportApiStatusResult'
        '404':
          description: Not Found
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
  /Project/{projectId}/Prediction/{predictionId}/WindStow:
    get:
      tags:
      - Project
      summary: Get Wind Stow parameters for a Prediction.
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: predictionId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/PlantPredict.Entities.DTO.ArrayWindStowInputParameters'
            application/json:
              schema:
                $ref: '#/components/schemas/PlantPredict.Entities.DTO.ArrayWindStowInputParameters'
            text/json:
              schema:
                $ref: '#/components/schemas/PlantPredict.Entities.DTO.ArrayWindStowInputParameters'
  /Project/{projectId}/Prediction/{predictionId}:
    get:
      tags:
      - Project
      summary: Get a Prediction by Project Id and Prediction Id.
      parameters:
      - name: projectId
        in: path
        description: ''
        required: true
        schema:
          type: integer
          format: int64
      - name: predictionId
        in: path
        description: ''
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/PlantPredict.Entities.Prediction'
            application/json:
              schema:
                $ref: '#/components/schemas/PlantPredict.Entities.Prediction'
            text/json:
              schema:
                $ref: '#/components/schemas/PlantPredict.Entities.Prediction'
    delete:
      tags:
      - Project
      summary: Delete a Prediction by Project Id and Prediction Id.
      parameters:
      - name: projectId
        in: path
        description: ''
        required: true
        schema:
          type: integer
          format: int64
      - name: predictionId
        in: path
        description: ''
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: OK
  /Project/{projectId}/Prediction:
    get:
      tags:
      - Project
      summary: Get Predictions by Project Id.
      description: The Predictions returned do not include the Power Plant - use the Power Plant operation to interact with those sub-entities.
      parameters:
      - name: projectId
        in: path
        description: ''
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PlantPredict.Entities.Prediction'
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PlantPredict.Entities.Prediction'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PlantPredict.Entities.Prediction'
    put:
      tags:
      - Project
      summary: Update a Prediction.
      description: This operation may attach a X-Message header on the response indicating a non-blocking warning about the updated entity.
      parameters:
      - name: projectId
        in: path
        description: ''
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        description: ''
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/PlantPredict.Entities.Prediction'
          application/json:
            schema:
              $ref: '#/components/schemas/PlantPredict.Entities.Prediction'
          text/json:
            schema:
              $ref: '#/components/schemas/PlantPredict.Entities.Prediction'
          application/*+json:
            schema:
              $ref: '#/components/schemas/PlantPredict.Entities.Prediction'
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/PlantPredict.Entities.DTO.UpdateEntityInfo'
            application/json:
              schema:
                $ref: '#/components/schemas/PlantPredict.Entities.DTO.UpdateEntityInfo'
            text/json:
              schema:
                $ref: '#/components/schemas/PlantPredict.Entities.DTO.UpdateEntityInfo'
    post:
      tags:
      - Project
      summary: Create a Prediction for a Project.
      description: This operation may attach a X-Message header on the response indicating a non-blocking warning about the new entity.
      parameters:
      - name: projectId
        in: path
        description: ''
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        description: ''
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/PlantPredict.Entities.Prediction'
          application/json:
            schema:
              $ref: '#/components/schemas/PlantPredict.Entities.Prediction'
          text/json:
            schema:
              $ref: '#/components/schemas/PlantPredict.Entities.Prediction'
          application/*+json:
            schema:
              $ref: '#/components/schemas/PlantPredict.Entities.Prediction'
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/PlantPredict.Entities.DTO.CreateEntityInfo'
            application/json:
              schema:
                $ref: '#/components/schemas/PlantPredict.Entities.DTO.CreateEntityInfo'
            text/json:
              schema:
                $ref: '#/components/schemas/PlantPredict.Entities.DTO.CreateEntityInfo'
  /Project/{projectId}/Prediction/{predictionId}/Overview:
    get:
      tags:
      - Project
      summary: Get Prediction summary overview by Project Id and Prediction Id.
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: predictionId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/PlantPredict.Entities.DTO.PredictionItem'
            application/json:
              schema:
                $ref: '#/components/schemas/PlantPredict.Entities.DTO.PredictionItem'
            text/json:
              schema:
                $ref: '#/components/schemas/PlantPredict.Entities.DTO.PredictionItem'
  /Project/{projectId}/Prediction/{predictionId}/Hydrated:
    get:
      tags:
      - Project
      summary: Returns a fully hydrated prediction object (includes power plant, financial results, simulation results).
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: predictionId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/PlantPredict.Entities.Prediction'
            application/json:
              schema:
                $ref: '#/components/schemas/PlantPredict.Entities.Prediction'
            text/json:
              schema:
                $ref: '#/components/schemas/PlantPredict.Entities.Prediction'
  /Project/{projectId}/Prediction/{predictionId}/Export:
    get:
      tags:
      - Project
      summary: Export a Prediction by Project Id and Prediction Id.
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: predictionId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                type: string
            application/json:
              schema:
                type: string
            text/json:
              schema:
                type: string
  /Project/{projectId}/TitleUpdate/Prediction:
    put:
      tags:
      - Project
      summary: Updates just the name of a Prediction without requiring a full entity update.
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/PlantPredict.Entities.Prediction'
          application/json:
            schema:
              $ref: '#/components/schemas/PlantPredict.Entities.Prediction'
          text/json:
            schema:
              $ref: '#/components/schemas/PlantPredict.Entities.Prediction'
          application/*+json:
            schema:
              $ref: '#/components/schemas/PlantPredict.Entities.Prediction'
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/PlantPredict.Entities.DTO.UpdateEntityInfo'
            application/json:
              schema:
                $ref: '#/components/schemas/PlantPredict.Entities.DTO.UpdateEntityInfo'
            text/json:
              schema:
                $ref: '#/components/schemas/PlantPredict.Entities.DTO.UpdateEntityInfo'
  /Project/{projectId}/NotesUpdate/Prediction:
    put:
      tags:
      - Project
      summary: This operation will update the Prediction notes without deleting any results that may exist.
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/PlantPredict.Entities.Prediction'
          application/json:
            schema:
              $ref: '#/components/schemas/PlantPredict.Entities.Prediction'
          text/json:
            schema:
              $ref: '#/components/schemas/PlantPredict.Entities.Prediction'
          application/*+json:
            schema:
              $ref: '#/components/schemas/PlantPredict.Entities.Prediction'
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/PlantPredict.Entities.DTO.UpdateEntityInfo'
            application/json:
              schema:
                $ref: '#/components/schemas/PlantPredict.Entities.DTO.UpdateEntityInfo'
            text/json:
              schema:
                $ref: '#/components/schemas/PlantPredict.Entities.DTO.UpdateEntityInfo'
  /Project/{projectId}/Prediction/{predictionId}/Run:
    post:
      tags:
      - Project
      summary: Run a Prediction by Project Id and Prediction Id.
      parameters:
      - name: projectId
        in: path
        description: ''
        required: true
        schema:
          type: integer
          format: int64
      - name: predictionId
        in: path
        description: ''
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        description: ''
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/PlantPredict.Entities.DTO.ExportOptions'
          application/json:
            schema:
              $ref: '#/components/schemas/PlantPredict.Entities.DTO.ExportOptions'
          text/json:
            schema:
              $ref: '#/components/schemas/PlantPredict.Entities.DTO.ExportOptions'
          application/*+json:
            schema:
              $ref: '#/components/schemas/PlantPredict.Entities.DTO.ExportOptions'
      responses:
        '200':
          description: OK
  /Project/{projectId}/Prediction/{predictionId}/Cancel:
    post:
      tags:
      - Project
      summary: Cancel a Prediction for a Project Id and Prediction Id.
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: predictionId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: OK
  /Project/{projectId}/Prediction/{predictionId}/GetAlbedoData:
    get:
      tags:
      - Project
      summary: Gets the Albedo data for the specified prediction from NSRDB / NASA
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: predictionId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: OK
  /Project/{projectId}/Prediction/{predictionId}/GetPVRadarSoilingData:
    get:
      tags:
      - Project
      summary: Gets the monthly soiling data for the specified prediction from PVRadar
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: predictionId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: trackingType
        in: query
        schema:
          $ref: '#/components/schemas/PlantPredict.Entities.Enums.PVRadarMountingTypeEnum'
      - name: tilt
        in: query
        schema:
          type: number
          format: double
      - name: trackingAngle
        in: query
        schema:
          type: number
          format: double
      - name: nightStowAngle
        in: query
        schema:
          type: number
          format: double
      responses:
        '200':
          description: OK
  /Project/{projectId}/Prediction/{predictionId}/GetFracsunSoilingData:
    get:
      tags:
      - Project
      summary: Gets the monthly soiling data for the specified prediction from Fracsun
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: predictionId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: OK
  /Project/{projectId}/Prediction/{predictionId}/ProcessingStatus:
    get:
      tags:
      - Project
      summary: Gets explicitly the processing status and percent complete for the specified prediction
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: predictionId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: OK
  /Project/{projectId}/Prediction/{predictionId}/Clone:
    get:
      tags:
      - Project
      summary: Clone a Prediction.
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: predictionId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: cloneToBlockBuilder
        in: query
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: OK
  /Project/{projectId}/Prediction/{predictionId}/ResultSummary:
    get:
      tags:
      - Project
      summary: Get summary results for a Prediction by Project Id and Prediction Id.
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: predictionId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/PlantPredict.Entities.PredictionResultSummary'
            application/json:
              schema:
                $ref: '#/components/schemas/PlantPredict.Entities.PredictionResultSummary'
            text/json:
              schema:
                $ref: '#/components/schemas/PlantPredict.Entities.PredictionResultSummary'
  /Project/{projectId}/Prediction/{predictionId}/ResultSummary/Common:
    get:
      tags:
      - Project
      summary: Get summary results using common logic.
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: predictionId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/PlantPredict.Entities.PredictionResultSummary'
            application/json:
              schema:
                $ref: '#/components/schemas/PlantPredict.Entities.PredictionResultSummary'
            text/json:
              schema:
                $ref: '#/components/schemas/PlantPredict.Entities.PredictionResultSummary'
  /Project/{projectId}/Prediction/{predictionId}/ResultDetails:
    get:
      tags:
      - Project
      summary: Get detailed results for a Prediction by Project Id and Prediction Id.
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: predictionId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                type: string
            application/json:
              schema:
                type: string
            text/json:
              schema:
                type: string
  /Project/{projectId}/Prediction/{predictionId}/Nodal:
    get:
      tags:
      - Project
      summary: Get Nodal Data CSV file for a Prediction by Project Id and Prediction Id.
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: predictionId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: OK
  /Project/{projectId}/Prediction/{predictionId}/NodalJson:
    get:
      tags:
      - Project
      summary: Get Nodal Data JSON for a Prediction by Project Id and Prediction Id, with optional parameters.
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: predictionId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: ESS
        in: query
        schema:
          type: boolean
          default: false
      - name: blockNumber
        in: query
        schema:
          type: integer
          format: int32
          default: 0
      - name: arrayNumber
        in: query
        schema:
          type: integer
          format: int32
          default: 0
      - name: inverterName
        in: query
        schema:
          type: string
          default: ''
      - name: dCFieldNumber
        in: query
        schema:
          type: integer
          format: int32
          default: 0
      - name: nodalParameters
        in: query
        schema:
          type: string
          default: ''
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                type: string
            application/json:
              schema:
                type: string
            text/json:
              schema:
                type: string
  /Project/{projectId}/Prediction/{predictionId}/PowerPlant:
    get:
      tags:
      - Project
      summary: Get the Power Plant for a Prediction.
      parameters:
      - name: projectId
        in: path
        description: ''
        required: true
        schema:
          type: integer
          format: int64
      - name: predictionId
        in: path
        description: ''
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/PlantPredict.Entities.PowerPlants.PVPlant'
            application/json:
              schema:
    

# --- truncated at 32 KB (336 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/terabase-energy/refs/heads/main/openapi/terabase-energy-project-api-openapi.yml