NewPolicyValueRecordInput
input type
Create-input for a PolicyValueRecord. The tenant (org group) is derived SERVER-SIDE from the principal; the LEVEL is named by the anchor field: organizationId = an org-level value, logicalFacilityId = an LF override — EXACTLY ONE (no group level exists; the registry default is the floor above org). The anchor is tenant-scoped server-side and must be ACTIVE; the key must be registry-defined and the value inside its bounds; startAt is optional (absent = effective NOW, server-stamped; explicit values must be >= the server now — no past starts) and must precede endAt.
Fields
| Field | Type | Required | Notes |
|---|---|---|---|
caption | String | no | Optional: when omitted the per-type default applies — the window coordinate <key> = <valueInt> from <startAt>; when supplied it must be non-blank. |
organizationId | ID | no | The org anchor for an ORG-level value — tenant-scoped server-side; exactly one of the two anchors. |
logicalFacilityId | ID | no | The LF anchor for an LF-level override — tenant-scoped server-side; never together with organizationId. |
key | String String! | yes | The registry key — an unknown key refuses naming the roster. |
valueInt | Int Int! | yes | The value — INT, registry-bounded per key (the v1 thresholds take 1..100). |
startAt | String | no | The window start (INCLUSIVE; UTC ISO-8601). Optional — absent = effective NOW (server-stamped); explicit values must be >= the server now (no past starts). |
endAt | String String! | yes | The window end (EXCLUSIVE; UTC ISO-8601). ALWAYS required (far-future = the standing value); must be strictly after startAt. |