Ratings Provider Querying in-use Real-Time Limits from the Transmission Provider

Assuming a MonitoringSet “my-monitoring-set” that contains TransmissionFacilities of interest, then the current in-use real-time limits may be fetched with the following command:

1
2
3
curl -H "Accept: application/vnd.trolie.realtime-limits-snapshot.v1+json" \
-o output.json \
"https://trolie.example.com/limits/realtime-snapshot?monitoring-set=my-monitoring-set"

This will return the current version of the in-use real-time limits into output.json.
This data should include all limits in-use by the Transmission Provider, whether they were submitted through TROLIE, through ICCP, or derived by the Transmission Provider through some other means. See the following for an example:

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
{
    "snapshot-header": {
        "snapshot-provenance": {
            "provider":"X-AMPL",
            "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": 15
            }
        ],
        "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",
            "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
                    }
                }
            ]
        }
    ]
}

NOTE: This query is an example of an HTTP GET. In addition to curl, the same URL may also be placed in a web browser to see the data.

Conditional GETs

While this example is appropriate for learning the API and trial usage, real applications will likely need to query these limits quite frequently. Clients should use the pattern for “conditional” GETs described in this article.