Read historian values (recorded or interpolated) from an AVEVA PI tag via PI Web API
domain: aveva.com · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
Authenticate over HTTPS using Basic auth, Kerberos/Windows auth, or OAuth2 bearer token, depending on how the service is configured
Resolve the target WebID by path with GET /piwebapi/points?path=... for a PI point, or GET /piwebapi/attributes?path=... for an AF attribute
GET /piwebapi/streams/{webId}/value?selectedFields=Timestamp;Value for the current snapshot value
GET /piwebapi/streams/{webId}/recorded?startTime=*-2d&endTime=*-1d for compressed historian values over a time range
GET /piwebapi/streams/{webId}/interpolated?startTime=*-1d&endTime=*&interval=1h for evenly spaced interpolated values
For multiple tags in one call, use the StreamSet controller: GET /piwebapi/streamsets/recorded?webId={id1}&webId={id2}
Known gotchas
startTime/endTime use PI relative-time syntax like '*-2d', not plain ISO 8601 — malformed relative time returns a 400 error
WebIDs can change across major PI Server upgrades — resolve by path rather than hardcoding WebIDs long-term
Default installs often require Windows/Kerberos auth; Basic auth must be explicitly enabled, and self-signed certs fail TLS verification unless trusted
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?