Reconciliation with Limit Snapshots
A central concept in TROLIE is the Clearinghouse. Ratings Providers propose ratings, and the Clearinghouse Provider determines operating limits: ratings in, limits out.
Crucially, the limits determined by the Clearinghouse Provider may differ from the ratings proposed by any individual Ratings Provider. In this article we will briefly describe the API affordances that support reconciliation of limits (produced by the Clearinghouse) with the ratings proposed by the Ratings Provider. Our example with focus on real-time ratings, but the basic approach applies to forecast ratings as well.
We have discussed Real-Time Rating Submittal and
Querying in-use Real-Time Limits elsewhere. Here we
will focus on making use of the provenance information in
application/vnd.trolie.realtime-limits-detailed-snapshot.v1+json
. For more
details on the different response messages available in TROLIE, see the article
on Media Types.
Request
1
2
curl -H "Accept: application/vnd.trolie.realtime-limits-detailed-snapshot.v1+json" \
$TROLIE_SERVER_URL/limits/realtime-snapshot?monitoring-set=my-monitoring-set
Response
Some headers are elided for clarity, but a successful response will start with:
1
2
HTTP/1.1 200 OK
Content-Type: application/vnd.trolie.realtime-limits-detailed-snapshot.v1+json
Here’s an example of the body of the response:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
{
"snapshot-header": {
"source": {
"provider": "X-AMPL-RC",
"last-updated": "2023-07-12T15:05:43.044267100-07:00",
"origin-id": "//trolie.example.com/snapshots/2024-08-05T11%3a00%3a00-07%3a00"
},
"default-emergency-durations": [
{
"name": "lte",
"duration-minutes": 240
},
{
"name": "ste",
"duration-minutes": 30
},
{
"name": "dal",
"duration-minutes": 5
}
],
"power-system-resources": [
{
"resource-id": "8badf00d",
"alternate-identifiers": [
{
"name": "segmentX",
"authority": "TO-NERC-ID"
},
{
"name": "LINE1 SEG-X",
"authority": "RC-NERC-ID",
"mrid": "8badf00d"
}
]
}
]
},
"limits": [
{
"resource-id": "8badf00d",
"additional-data": {
"vendor-specific-data": {}
},
"continuous-operating-limit": {
"mva": 160
},
"emergency-operating-limits": [
{
"duration-name": "lte",
"limit": {
"mva": 165
}
},
{
"duration-name": "ste",
"limit": {
"mva": 170
}
},
{
"duration-name": "dal",
"limit": {
"mva": 175
}
}
]
}
],
"provenance": [
{
"resource-id": "8badf00d",
"proposals-considered": [
{
"resource-id": "8badf00d-UTILITY-A-SEG-id",
"source": {
"last-updated": "2025-07-12T14:10:12-07:00",
"provider": "UTILITY-A",
"origin-id": "8badf00d-UTILITY-A-correlation-id"
},
"proposal-disposition": "Used",
"continuous-operating-limit": {
"mva": 150
},
"emergency-operating-limits": [
{
"duration-name": "lte",
"limit": {
"mva": 165
}
},
{
"duration-name": "ste",
"limit": {
"mva": 170
}
},
{
"duration-name": "dal",
"limit": {
"mva": 180
}
}
]
},
{
"resource-id": "8badf00d-UTILITY-B-SEG-id",
"source": {
"last-updated": "2025-07-12T14:10:12-07:00",
"provider": "UTILITY-B",
"origin-id": "8badf00d-UTILITY-B-correlation-id"
},
"proposal-disposition": "Used",
"continuous-operating-limit": {
"mva": 150
},
"emergency-operating-limits": [
{
"duration-name": "lte",
"limit": {
"mva": 166
}
},
{
"duration-name": "ste",
"limit": {
"mva": 171
}
},
{
"duration-name": "dal",
"limit": {
"mva": 175
}
}
]
}
],
"temporary-aar-exceptions": [
{
"id": "284928-2025-07-12T16:00:00-07:00",
"source": {
"origin-id": "2d8c80e8-f533-4be9-85bf-f7f81eb73d67",
"provider": "UTILITY-A",
"last-updated": "2025-07-12T16:00:00-07:00"
},
"resource": {
"resource-id": "8badf00d"
},
"start-time": "2025-07-12T16:00:00-07:00",
"end-time": "2025-08-01T00:00:00-07:00",
"continuous-operating-limit": {
"mva": 160
},
"emergency-operating-limits": [
{
"duration-name": "lte",
"limit": {
"mva": 165
}
},
{
"duration-name": "ste",
"limit": {
"mva": 170
}
},
{
"duration-name": "dal",
"limit": {
"mva": 180
}
}
]
}
],
"overrides": [
{
"continuous-operating-limit": {
"mva": 160
},
"emergency-operating-limits": [
{
"duration-name": "lte",
"limit": {
"mva": 165
}
}
],
"reason": "TOI 20250701-01",
"start-time": "2025-07-01T00:00:00-07:00"
}
]
}
]
}
Discussion
The proposals-considered
array contains the salient details of the ratings
proposals that were considered. Note that in this example the continuous,
“lte”, and “ste” limits were determined by UTILITY-A but the “dal” limit was set
by UTILITY-B.