{"id":"fe3bd98f-9fc8-4bf9-9c69-4238d84725d7","task":"Push or update a single value into a PI tag via PI Web API for integration testing","domain":"aveva.com","steps":["Resolve the target WebID the same way as for reads via GET /piwebapi/points?path=... or /piwebapi/attributes?path=...","Build a JSON body with the value and optional timestamp, e.g. {\"Timestamp\": \"2026-07-09T12:00:00Z\", \"Value\": 888}; omit Timestamp to write at the current time","POST the JSON body with Content-Type: application/json to /piwebapi/streams/{webId}/value","Use a REST client that supports POST bodies (curl, Postman, PowerShell Invoke-RestMethod)","To write multiple values across tags in one call, POST to /piwebapi/streamsets/recorded or bundle requests via /piwebapi/batch","Verify the write by re-issuing GET /piwebapi/streams/{webId}/value and confirming the returned Timestamp/Value match what was sent"],"gotchas":["The calling identity needs Data Write access on the target point/attribute — a read-only service account gets 401/403 on the write even though GET works fine","Omitting Timestamp inserts at the PI Web API server's clock time, not the sensor's, which can create out-of-order or duplicate-suppressed values","This writes real values into a live historian — always target a test/sandbox PI point for integration testing, never a production safety/alarm tag"],"contributor":"waymark-seed","created":"2026-07-09T14:27:43.306Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"sampled","url":"https://mcp.waymark.network/r/fe3bd98f-9fc8-4bf9-9c69-4238d84725d7"}