Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Source-grounded corrections: fix error-code table (422 was wrong; per-item errors[] model), add auth/me and tags/historian aliases

...

Note

Permissions are enforced server-side by the runtime's tag security on every call. A token can only read or write what its associated user is allowed to — a request for an object the caller cannot see returns 404, not 403.

To confirm a token and see the resolved identity, call GET /api/v1/auth/me.

The probes /ping, /health, /ready, and /api/v1/openapi.json are anonymous and require no token.

...

Write value type does not

HTTP

When

400

Malformed request or body, out-of-range parameter, over-limit batch (too-many-objects), invalid time format, or a non-Tag path on a UNS-strict route (uns-namespace-mismatch).

401

Missing / invalid token, or expired session (authentication-required).

403

Operation disabled by the solution — e.g. custom Script methods not enabled (solution-custom-methods-disabled).

404

Object or resource not found — or it exists but is not visible to the caller's permission set (BOLA defence).

405

422

HTTP method not allowed on that route (e.g. a non-GET on a read-only endpoint).

422

Invalid argument to a Script method, or an unknown aggregation kind (invalid-aggregation).

Per-item results in bulk calls. Bulk read and write return HTTP 200 with a results array and an errors array. A single failing item — a write rejected by tag security, a path that doesn't resolve, a value that doesn't match the tag's

...

type — appears in errors while the remaining items still succeed in results. HTTP-level 4xx codes are reserved for request-level problems (bad body, over-limit, auth).

Time format

All timestamps are ISO 8601 strict UTC with a mandatory Z suffix (2026-07-07T15:30:42.123Z). Durations use ISO 8601 duration syntax (PT5M = 5 minutes, PT1H = 1 hour, P1D = 1 day). A local-naive timestamp is rejected with 400.

...

Legacy WebAccess (/rtServices/api/)

Runtime REST API (/api/v1/)

GET SetServer (mint bearer)

POST /api/v1/auth/login

GET SyncObjects/ReadObject?ObjectName=Tag1

GET /api/v1/uns/Tag1

GET SyncObjects/ReadObjects

POST /api/v1/uns/group

POST SyncObjects/WriteObject

PUT /api/v1/uns/group (single-element)

POST SyncObjects/WriteObjects

PUT /api/v1/uns/group

For convenience during migration, GET /api/v1/tags/… and GET /api/v1/historian/… also resolve — they issue a 308 redirect to the canonical /api/v1/uns/… path.

...

In this section...

Page Tree
root@self

...