# Create Site Measurements

`POST /resources/pv_power_site_measurements`

Submit measurement data for a Premium PV Power site. Measurements are used for model training. Maximum 1000 measurements per request. Power units (AC) are measured in MW. Power is the actual measured power output by the site. If there are availability and curtailment constraints in place, those fields should also be included with the measurements.

## Request Body

| Name | Type | Required | Description | Accepted Values |
| --- | --- | --- | --- | --- |
| `resource_id` | string | yes | The unique identifier of the Premium PV Power resource. |  |
| `measurements` | ApiPvSiteMeasurement[] | no | Array of measurement records (1-1000). |  |

## Example request

### cURL

```bash
curl -X POST "https://api.solcast.com.au/resources/pv_power_site_measurements" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "resource_id": "0000-0000-0000-0000",
  "measurements": [
    {
      "period": "PT5M",
      "period_end": "2026-01-01T00:05:00.0000000Z",
      "power": 1
    }
  ]
}'
```

### Python

```python
import requests

response = requests.post(
    "https://api.solcast.com.au/resources/pv_power_site_measurements",
    json={
        "resource_id": "0000-0000-0000-0000",
        "measurements": [
            {
                "period": "PT5M",
                "period_end": "2026-01-01T00:05:00.0000000Z",
                "power": 1
            }
        ]
    },
    headers={"Authorization": "Bearer API_KEY"},
)
data = response.json()
```

## Example response (200)

```json
{
  "resource_id": "0000-0000-0000-0000",
  "accepted": 42
}
```

## Responses

### 200 — OK

Schema: `CreateSiteMeasurementsResponse`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `accepted` | integer (int32) | no |  |
| `resource_id` | string | no |  |

Source: /docs/section/premium#postResourcesPvPowerSiteMeasurements
