Terabase Energy Financial Model API

Financial model parameters and cashflow results

Operations 3

GET /Project/{projectId}/Prediction/{predictionId}/FinancialModelParameters Get financial model parameters #
POST /Project/{projectId}/Prediction/{predictionId}/FinancialModelParameters Save financial model parameters #
GET /Project/{projectId}/Prediction/{predictionId}/CalculateCashflowResults Calculate cashflow results #

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-financialmodel-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-financialmodel-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Terabase Energy Financial Model API
  version: 12.13.0
  description: 'Operations tagged FinancialModel across 2 of this provider''s published API definitions: terabase-energy-financialmodel-api-openapi.yml, terabase-energy-plantpredict-openapi-original.yaml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.plantpredict.terabase.energy
  description: Production
security:
- bearerAuth: []
tags:
- name: FinancialModel
  description: Financial model parameters and cashflow results
paths:
  /Project/{projectId}/Prediction/{predictionId}/FinancialModelParameters:
    get:
      tags:
      - FinancialModel
      summary: Get financial model parameters
      description: "Returns the persisted financial model inputs and calculations for a prediction.\n\n**Parameters:**\n\n- `projectId` (path, required): The project ID.\n    \n- `predictionId` (path, required): The prediction ID.\n"
      operationId: getFinancialModelParameters
      x-doc-source: postman
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: integer
      - name: predictionId
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Financial model parameters
          content:
            application/json:
              schema:
                type: object
              examples:
                postman-get-parameters:
                  value:
                    id: 166274
                    systemSizeAtPOI: 0.15
                    systemInverterCapacity: 0.15
                    systemSize: 0.195
                    specificYieldUsedInAnalysis: 1504.9936308468727
                    dcacAtPOI: 1.3
                    dcacAtInverter: 1.3
                    epcbosCost: 0.5
                    epcCapitalCost: 0.0975
                    developmentCostTotal: 0.03
                    moduleCostTotal: 0.058499999999999996
                    capitalCostTotalPreITC: 0.186
                    capitalCostTotalPostITC: 0.13763999999999998
                    yearOneEnergy: 293.4737580151402
                    averageGCRPercentage: 40
                    itcTotal: 0.04836
                    basisForDepreciation: 0.15252
                    bonusDepreciation: 0
                    basisForMACRS: 0.15252
                    salvageValue: 0.009300000000000001
                    energyInput: 1504.9936308468727
                    bosInput: 0.5
                    developmentCostPerWatt: 0.2
                    moduleCostPerWatt: 0.3
                    itcPercentage: 26
                    yearOneEnergyAdjustmentPercentage: 0
                    annualSolarDegradationPercentage: 0.3
                    ppaPrice: 25
                    ppaEscalatorPercentage: 0
                    omYearOne: 3.5
                    omYearlyEscalatorPercentage: 2.5
                    ppaDuration: 20
                    postPPAPrice: 50
                    postPPAPriceEscalationPercentage: 2
                    projectLife: 35
                    discountNPVPercentage: 6
                    itcEligibilityPercentage: 100
                    solarSalvageValuePercentage: 5
                    insuranceCapitalCostPercentage: 0.15
                    insuranceEscalatorPerYearPercentage: 0
                    bonusDepreciationRate: 0
                    stateTaxRate: 6
                    federalTaxRate: 21
                    solarLandLeaseCost: 0
                    solarLandLeaseEscalationPercentage: 0
                    solarPropertyTaxCost: 0
                    solarPropertyTaxEscalationPercentage: 0
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
    post:
      tags:
      - FinancialModel
      summary: Save financial model parameters
      description: "Takes input parameters and calculates new financial model inputs. Does not persist; returns calculated values.\n\n**Parameters:**\n\n- `projectId` (path, required): The project ID.\n    \n- `predictionId` (path, required): The prediction ID.\n    \n- `modelInputs` (body, required): FinancialModelParameters with input values to calculate.\n"
      operationId: saveFinancialModelParameters
      x-doc-source: postman
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: integer
      - name: predictionId
        in: path
        required: true
        schema:
          type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
            examples:
              postman-projects-financial-model-parameters:
                value:
                  id: 166274
                  systemSizeAtPOI: 0.15
                  systemInverterCapacity: 0.15
                  systemSize: 0.195
                  specificYieldUsedInAnalysis: 1504.9936308468727
                  dcacAtPOI: 1.3
                  dcacAtInverter: 1.3
                  epcbosCost: 0.5
                  epcCapitalCost: 0.0975
                  developmentCostTotal: 0.03
                  moduleCostTotal: 0.058499999999999996
                  capitalCostTotalPreITC: 0.186
                  capitalCostTotalPostITC: 0.13763999999999998
                  yearOneEnergy: 293.4737580151402
                  averageGCRPercentage: 40
                  itcTotal: 0.04836
                  basisForDepreciation: 0.15252
                  bonusDepreciation: 0
                  basisForMACRS: 0.15252
                  salvageValue: 0.009300000000000001
                  energyInput: 1504.9936308468727
                  bosInput: 0.5
                  developmentCostPerWatt: 0.2
                  moduleCostPerWatt: 0.3
                  itcPercentage: 26
                  yearOneEnergyAdjustmentPercentage: 0
                  annualSolarDegradationPercentage: 0.3
                  ppaPrice: 25
                  ppaEscalatorPercentage: 0
                  omYearOne: 3.5
                  omYearlyEscalatorPercentage: 2.5
                  ppaDuration: 20
                  postPPAPrice: 50
                  postPPAPriceEscalationPercentage: 2
                  projectLife: 35
                  discountNPVPercentage: 6
                  itcEligibilityPercentage: 100
                  solarSalvageValuePercentage: 5
                  insuranceCapitalCostPercentage: 0.15
                  insuranceEscalatorPerYearPercentage: 0
                  bonusDepreciationRate: 0
                  stateTaxRate: 6
                  federalTaxRate: 21
                  solarLandLeaseCost: 0
                  solarLandLeaseEscalationPercentage: 0
                  solarPropertyTaxCost: 0
                  solarPropertyTaxEscalationPercentage: 0
      responses:
        '200':
          description: Saved parameters
          content:
            application/json:
              schema:
                type: object
              examples:
                postman-update-parameters:
                  value:
                    systemSizeAtPOI: 0.15
                    systemInverterCapacity: 0.15
                    systemSize: 0.195
                    specificYieldUsedInAnalysis: 1504.9936308468727
                    dcacAtPOI: 1.3
                    dcacAtInverter: 1.3
                    epcbosCost: 0.5
                    epcCapitalCost: 0.0975
                    developmentCostTotal: 0.03
                    moduleCostTotal: 0.058499999999999996
                    capitalCostTotalPreITC: 0.186
                    capitalCostTotalPostITC: 0.13763999999999998
                    yearOneEnergy: 293.4737580151402
                    averageGCRPercentage: 40
                    itcTotal: 0.04836
                    basisForDepreciation: 0.15252
                    bonusDepreciation: 0
                    basisForMACRS: 0.15252
                    salvageValue: 0.009300000000000001
                    energyInput: 1504.9936308468727
                    bosInput: 0.5
                    developmentCostPerWatt: 0.2
                    moduleCostPerWatt: 0.3
                    itcPercentage: 26
                    yearOneEnergyAdjustmentPercentage: 0
                    annualSolarDegradationPercentage: 0.3
                    ppaPrice: 25
                    ppaEscalatorPercentage: 0
                    omYearOne: 3.5
                    omYearlyEscalatorPercentage: 2.5
                    ppaDuration: 20
                    postPPAPrice: 50
                    postPPAPriceEscalationPercentage: 2
                    projectLife: 35
                    discountNPVPercentage: 6
                    itcEligibilityPercentage: 100
                    solarSalvageValuePercentage: 5
                    insuranceCapitalCostPercentage: 0.15
                    insuranceEscalatorPerYearPercentage: 0
                    bonusDepreciationRate: 0
                    stateTaxRate: 6
                    federalTaxRate: 21
                    solarLandLeaseCost: 0
                    solarLandLeaseEscalationPercentage: 0
                    solarPropertyTaxCost: 0
                    solarPropertyTaxEscalationPercentage: 0
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
    servers:
    - url: https://api.plantpredict.terabase.energy
      description: Production
  /Project/{projectId}/Prediction/{predictionId}/CalculateCashflowResults:
    get:
      tags:
      - FinancialModel
      summary: Calculate cashflow results
      description: "Returns yearly cashflow results based on prediction results and stored financial model input parameters.\n\n**Parameters:**\n\n- `projectId` (path, required): The project ID.\n    \n- `predictionId` (path, required): The prediction ID.\n"
      operationId: calculateCashflowResults
      x-doc-source: postman
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: integer
      - name: predictionId
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Cashflow results
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                  cumulativeCashflowSummary:
                    type: object
                  cashflowYearResults:
                    type: array
                    items:
                      type: object
                  cashflowGraphResults:
                    type: array
                    items:
                      type: object
                  projectOutputs:
                    type: object
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
    servers:
    - url: https://api.plantpredict.terabase.energy
      description: Production
components:
  responses:
    ServerError:
      description: 'Unexpected server-side error. The body is usually a plain-text message

        but its structure is not guaranteed — treat it as opaque diagnostic

        text. Common causes: database constraint violation, downstream

        service timeout, internal exception. Retry-safe for idempotent

        requests; for non-idempotent ones, verify state before retrying.

        '
      content:
        text/plain:
          schema:
            type: string
          example: An error has occurred.
    NotFound:
      description: The referenced resource does not exist or is not accessible to the caller.
      content:
        text/plain:
          schema:
            type: string
          example: Project not found.
    Unauthorized:
      description: Missing or invalid bearer token. The response body is empty and no `Content-Type` header is set; the 401 status code is the only signal. Fetch a fresh token (see the **Authentication** section of the API description) and retry.
    BadRequest:
      description: "The request was rejected. PlantPredict returns one of two shapes:\n\n* `application/json` with `{message, modelState}` for input\n  validation errors (ASP.NET Web API model-state). The `modelState`\n  map keys field names to lists of human-readable error messages.\n* `text/plain` with a free-form message for runtime / database\n  errors that bubble up before validation completes.\n\nClients should branch on the `Content-Type` header.\n"
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ModelStateError'
          example:
            message: The request is invalid.
            modelState:
              latitude:
              - The field Latitude must be between -90 and 90.
        text/plain:
          schema:
            type: string
          example: A successfully completed prediction cannot be cancelled.
  schemas:
    ModelStateError:
      type: object
      description: 'ASP.NET Web API validation error. `modelState` maps the offending

        field name (or `request`) to a list of human-readable messages.

        '
      properties:
        message:
          type: string
        modelState:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
      required:
      - message
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: 'Pass `Authorization: Bearer <token>` on every request. See the **Authentication** section of the API description for how to fetch a token.'
x-refined-from:
- terabase-energy-financialmodel-api-openapi.yml
- terabase-energy-plantpredict-openapi-original.yaml