Skip to content

Submit Generation Data

POST
/api/v1/projects/{project_id}/impacts/generation-data
curl --request POST \
--url https://api.totalview.energy/api/v1/projects/example/impacts/generation-data \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "data_source": "metered", "source_system": "example", "data_points": [ { "timestamp": "2026-04-15T12:00:00Z", "generation_mw": 1, "is_estimated": false } ], "timezone": "UTC", "notes": "example" }'

Submit generation data for impact calculation.

Accepts hourly or sub-hourly generation data. Data is validated, stored, and queued for impact calculation.

project_id
required
Project Id
string
Media type application/json
GenerationDataSubmission

Submit generation data for impact calculation.

object
data_source
required
Data Source
string
Allowed values: metered estimated utility_reported manual
source_system
Any of:
string
data_points
required
Data Points

Generation data points (hourly or sub-hourly)

Array<object>
>= 1 items
GenerationDataPoint

Single generation data point.

object
timestamp
required
Timestamp
string format: date-time
generation_mw
required
Generation Mw
number
is_estimated
Is Estimated
boolean
timezone
Timezone

Timezone of the timestamp data

string
default: UTC
notes
Any of:
string

Successful Response

Media type application/json
IngestionResponse

Response after submitting generation data.

object
ingestion_id
required
Ingestion Id
string format: uuid
project_id
required
Project Id
string format: uuid
status
required
Status
string
Allowed values: received validating queued failed
records_received
required
Records Received
integer
data_start
required
Data Start
string format: date-time
data_end
required
Data End
string format: date-time
validation_passed
required
Validation Passed
boolean
validation_warnings
Validation Warnings
Array<string>
validation_errors
Validation Errors
Array<string>
estimated_processing_time_seconds
Any of:
integer
periods_to_calculate
Periods To Calculate
integer
0
Example
{
"status": "received",
"periods_to_calculate": 0
}

Validation Error

Media type application/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
ctx
Context
object
Example generated
{
"detail": [
{
"loc": [
"example"
],
"msg": "example",
"type": "example",
"input": "example",
"ctx": {}
}
]
}