overlay: 1.0.0
info:
title: API Evangelist enhancements — AMETEK Powervar iSite PRO REST API
version: 1.0.0
x-generated: '2026-09-02'
x-method: generated
x-source: openapi/ametek-powervar-isite-pro-openapi.yml
x-note: >-
Records what API Evangelist added on top of AMETEK Powervar's published REST API definition
(A55-00202 REV B). The definition is a PDF, not a spec — it names paths, methods, auth, and one
worked example body per operation. Everything listed below is structure this pipeline supplied
so the contract could exist as OpenAPI at all; none of it is a claim by AMETEK Powervar.
extends: openapi/ametek-powervar-isite-pro-openapi.yml
actions:
- target: $.info
description: >-
Added a summary and a description quoting the definition's own feature list, plus contact and
x-source-pdf pointing at the source document. AMETEK Powervar publishes no info block.
- target: $.servers
description: >-
Added a templated server http://{device_host}:{port}/api/v1. AMETEK Powervar publishes no
base URL — the definition's worked examples show a Host header pointing at a specific
adapter on port 8080. The template says what is true: the host is the customer's own device,
found by mDNS, and it must be supplied per deployment.
- target: $.tags
description: >-
Added three tags — UPS Monitoring, Alarms, Device Identity — grouping the three operations.
The definition has no tag vocabulary.
- target: $.paths['/UpsStatus'].get
description: >-
Added operationId getUpsStatus, a summary and a description. The definition names the request
"UpsStatus" but publishes no operationId.
- target: $.paths['/UpsAlarms'].get
description: >-
Added operationId getUpsAlarms plus a description of the severity scale, which the definition
states only implicitly through its alarm table.
- target: $.paths['/whoAreYou'].get
description: >-
Added operationId getWhoAreYou, and recorded in the description the case discrepancy in the
source document itself — the URL field reads /api/v1/whoAreYou while the worked example
request line reads /api/v1/WhoAreYou.
- target: $.components.securitySchemes
description: >-
Formalised the two published auth mechanisms as schemes — basicAuth (http/basic) and
sessionToken (apiKey in the x-auth-token header). The definition states both in prose.
- target: $.components.schemas.UpsStatus
description: >-
Typed the 23 fields of the published example response body and wrote a description per field.
The definition publishes the example body only, with no schema and no field documentation.
Also recorded the date-format inconsistency present in AMETEK Powervar's own example:
ManufactureDate is YYYY-MM-DD while BatteryReplaceDate in the same body is MM/DD/YYYY.
- target: $.components.schemas.AlarmName
description: >-
Turned the definition's "all possible alarms" table into a 38-value string enum, preserving
every published name.
- target: $.components.schemas.Alarm.properties.Severity
description: >-
Constrained Severity to enum [1,2,3] and documented the meaning of each level, read off the
published alarm table where every name carries a fixed severity.
- target: $.components.schemas.WhoAreYou
description: >-
Typed the identity response and split its nested structures into named EthInterface and
HttpdState schemas so they are referenceable.
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.