TROLIE (Transmission Ratings and Operating Limits Information Exchange) is an open-source LF Energy project, hosted under LF Projects, that defines an OpenAPI-based REST specification for exchanging transmission facility ratings and operating limits. It responds to FERC Order 881, which requires North American Transmission Owners, Transmission Operators, Transmission Providers and Reliability Coordinators to exchange ambient-adjusted and forecasted ratings. The project publishes the 1.0 specification, usage examples for forecast, real-time, seasonal and temporary ratings, decision records, a conformance suite and a Java client SDK on GitHub.
TROLIE publishes 6 API contracts indexed on the APIs.io network, including Forecasting API, Monitoring Sets API, Seasonal API, and 3 more. Tagged areas include Company, Energy, Electric Grid, Transmission, and Open Standard.
The TROLIE catalog on APIs.io includes 1 JSON-LD context and 2 Spectral governance rulesets.
TROLIE’s developer surface includes changelog, authentication, API reference, getting-started guide, FAQ, engineering blog, support, and 28 more developer resources.
Regulatory Posture applies to this provider. Its tags matched the
Energy & Utilities regime, so
Regulatory Posture carries 15 points of the composite.
If this regime is wrong for your business, say so on your
provider repo — the
applicability map is public and we will correct it.
Create-or-Update Ergonomics applies to this provider. This API accepts writes, so it
carries 10 points of the composite. It is scored from the published contracts
themselves: whether a caller can create-or-update in one call, whether the write accepts a key the caller already
holds, and whether the response says which branch ran. Without that, every write needs a search-and-branch in
front of it, and the first time that check is skipped a duplicate record is created.
Scored against the observed mean rather than raw — a provider at the catalog average is unchanged by this facet,
not penalised by it.
The six quality facets above are damped to 75 points between them,
because the conditional facet above carries the other
25. That is why each facet's contribution is shown against a damped
maximum: raising a quality facet moves the composite by 75% of its nominal
weight, not 100%. The full arithmetic is at apis.io/rating/.
Show this score on your site.
It updates itself when the score changes. Paste this where you link to your API docs:
<a href="https://apis.io/providers/trolie/"><img src="https://apis.io/badge/trolie/card.svg" alt="TROLIE on APIs.io — Kin Score by API Evangelist"></a>
Other styles, a README pill and a shields.io endpoint are on the badge page.
Raise your score.
Agent readiness — checks not met, largest first (exact, from this profile):
MCP Server+12 pts — deployment.mode + probe verdict on the mcp/ manifest, not the pointer; an unprobed slug falls back to authorship
Idempotency+9 pts — OpenAPI mutating operations declare an idempotency key — a header, a request-body property, or a named de-duplication token whose own description says so (verified); else common[].type matches /idempoten/i (documented)
A2A Agent Card+8 pts — a2a/-a2a.yml manifest, graded on conformance.grade against A2A 1.0.0
Delegated User Identity+6 pts — a served discovery document listing authorization_code in grant_types_supported (served), else an oauth2 authorizationCode flow or openIdConnect declared in an OpenAPI (documented)
Typed Event Surface+6 pts — AsyncAPI document, OR webhooks/callbacks objects in the as-published OpenAPI, OR common[].type includes Webhooks
6 more unmet checks in the Agent Readiness table above.
Kin Score — facets with the most composite points still available (weight × headroom):
Standards this provider implements or carries. De facto ones are profiled and measured by the API Commons; formal ones come from the standards directory and are linked by the provider's own tags. The evidence column says how each claim was established — not that it was made.
The Forecasting API operations define the exchange of forecasted ratings, including the 240-hour-ahead forecasted AAR data exchange required by FERC Order 881. The operations su...
[Monitoring Sets](https://trolie.energy/concepts#monitoring-sets) are named sets of power system resources that may be used to filter ratings and limits returned by queries agai...
Seasonal ratings are static ratings associated with extended durations, typically months. These are typically used in both planning and operations. Power system resources that a...
A Seasonal Override instructs the system to use a temporary static rating instead of any concurrent Seasonal Rating for a resource. A typical use case is a so-called 'de-rate' d...
A [Temporary AAR Exception](https://trolie.energy/concepts#temporary-aar-exception) is provided by the Ratings Provider when a Ratings Obligation cannot be fulfilled, due to som...
If permitted by the Clearinghouse Provider, its Ratings Providers can use these functions to exchange real-time ratings, supplementing or replacing traditional telemetry protoco...
Overlays applied on top of this provider's contracts. Each card says who wrote it: a document the provider publishes, or one API Evangelist derived or generated.
aid: trolie
name: TROLIE
description: TROLIE (Transmission Ratings and Operating Limits Information Exchange) is an open-source LF Energy project,
hosted under LF Projects, that defines an OpenAPI-based REST specification for exchanging transmission facility ratings
and operating limits. It responds to FERC Order 881, which requires North American Transmission Owners, Transmission Operators,
Transmission Providers and Reliability Coordinators to exchange ambient-adjusted and forecasted ratings. The project publishes
the 1.0 specification, usage examples for forecast, real-time, seasonal and temporary ratings, decision records, a conformance
suite and a Java client SDK on GitHub.
url: https://raw.githubusercontent.com/api-evangelist/trolie/refs/heads/main/apis.yml
x-type: company
x-source: harvest:spectral-ruleset-github
x-tier: profiled
x-tier-reason: enrichment pass 2026-10-09 (modular-v1; was harvest)
specificationVersion: '0.20'
created: '2026-10-09'
modified: '2026-10-09'
tags:
- Company
- Energy
- Electric Grid
- Transmission
- Open Standard
- OpenAPI
- LF Energy
- Open Source
tags_raw:
- Company
- Energy
- Electric Grid
- Transmission
- Open Standards
- OpenAPI
- LF Energy
- Open Source
maintainers:
- FN: Kin Lane
email: kin@apievangelist.com
- FN: APIs.json
email: info@apis.io
image: https://trolie.energy/images/TROLIE-icon-white.svg
common:
- type: AgenticAccess
url: agentic-access/trolie-agentic-access.yml
- type: Spectral
url: rules/trolie-spec-spectral-rules.yml
- type: Spectral
url: rules/trolie-rules.yml
- type: JSONLD
url: json-ld/trolie-context.jsonld
- type: Vocabulary
url: vocabulary/trolie-vocabulary.yml
- type: AgentSkill
url: skills/_index.yml
- type: DataModel
url: data-model/trolie-data-model.yml
- type: ChangeLog
url: changelog/trolie-changelog.yml
- type: Conventions
url: conventions/trolie-conventions.yml
- type: Deprecation
url: lifecycle/trolie-lifecycle.yml
- type: Lifecycle
url: lifecycle/trolie-lifecycle.yml
- type: ErrorCatalog
url: errors/trolie-problem-types.yml
- type: Conformance
url: conformance/trolie-conformance.yml
- type: Overlay
url: overlays/trolie-openapi-overlay.yaml
- type: WellKnown
url: well-known/trolie-well-known.yml
- type: Hosts
url: hosts/trolie-hosts.yml
- type: Vendors
url: vendors/trolie-vendors.yml
- type: SDKs
url: packages/trolie-packages.yml
- type: Packages
url: packages/trolie-packages.yml
- type: Authentication
url: authentication/trolie-authentication.yml
- type: OAuthScopes
url: scopes/trolie-scopes.yml
- type: DomainSecurity
url: security/trolie-domain-security.yml
- type: Website
url: https://trolie.energy/
- type: SpectralRules
url: https://github.com/trolie/spec/blob/39741d03365cb430ab5d7e677312759a7f4a6d14/.spectral.yaml
- type: APIReference
url: https://trolie.energy/spec-1.0
- type: GettingStarted
url: https://trolie.energy/concepts.html
- type: UsageExamples
url: https://trolie.energy/usage-examples.html
- type: FAQ
url: https://trolie.energy/faq.html
- type: Blog
url: https://trolie.energy/community_events.html
- type: GitHubOrganization
url: https://github.com/trolie
- type: GitHubRepository
url: https://github.com/TROLIE/spec
- type: ChangeLog
url: https://github.com/trolie/spec/releases
- type: Issues
url: https://github.com/trolie/spec/issues
- type: Support
url: https://lists.lfenergy.org/g/trolie-general
- type: Foundation
url: https://lfenergy.org/projects/trolie/
apis:
- aid: trolie:trolie-forecasting-api
name: TROLIE Forecasting API
description: 'The Forecasting API operations define the exchange of forecasted ratings,
including the 240-hour-ahead forecasted AAR data exchange required by FERC
Order 881. The operations support submitting rating proposals, querying
in-use limits, and monitoring the health and validity of submissions
against the Rating Provider''s obligations.'
humanURL: https://trolie.energy/spec-1.0
tags:
- Forecasting
properties:
- type: OpenAPI
url: openapi/trolie-forecasting-api-openapi.yml
- type: Documentation
url: https://trolie.energy/spec-1.0
- type: JSONSchema
url: json-schema/trolie-forecast-proposal-status-schema.json
- type: JSONSchema
url: json-schema/trolie-real-time-proposal-status-schema.json
- type: JSONSchema
url: json-schema/trolie-seasonal-ratings-proposal-status-schema.json
- type: JSONSchema
url: json-schema/trolie-realtime-proposal-schema.json
- type: JSONSchema
url: json-schema/trolie-forecast-limits-snapshot-slim-inputs-used-schema.json
- type: JSONSchema
url: json-schema/trolie-realtime-limits-snapshot-slim-inputs-used-schema.json
- aid: trolie:trolie-monitoring-sets-api
name: TROLIE Monitoring Sets API
description: '[Monitoring Sets](https://trolie.energy/concepts#monitoring-sets) are
named sets of power system resources that may be used to filter ratings
and limits returned by queries against these APIs. How Monitoring Sets are
defined is beyond the scope of the TROLIE specification, and it is assumed
that the sender and receiver have predefined the appropriate Monitoring
Sets.'
humanURL: https://trolie.energy/spec-1.0
tags:
- Monitoring Sets
properties:
- type: OpenAPI
url: openapi/trolie-monitoring-sets-api-openapi.yml
- type: Documentation
url: https://trolie.energy/spec-1.0
- type: JSONSchema
url: json-schema/trolie-forecast-proposal-status-schema.json
- type: JSONSchema
url: json-schema/trolie-real-time-proposal-status-schema.json
- type: JSONSchema
url: json-schema/trolie-seasonal-ratings-proposal-status-schema.json
- type: JSONSchema
url: json-schema/trolie-realtime-proposal-schema.json
- type: JSONSchema
url: json-schema/trolie-forecast-limits-snapshot-slim-inputs-used-schema.json
- type: JSONSchema
url: json-schema/trolie-realtime-limits-snapshot-slim-inputs-used-schema.json
- aid: trolie:trolie-seasonal-api
name: TROLIE Seasonal API
description: 'Seasonal ratings are static ratings associated with extended durations,
typically months. These are typically used in both planning and
operations.
Power system resources that are exempt from providing AARs generally
operate at a seasonal rating. Even for resources using dynamic ratings, a
seasonal rating is still necessary. This acts as a recourse when a dynamic
rating is unavailable. For example, a dynamic rating
might be unavailable during communication outages or for forecasts beyond
the ten-day period required by FERC Order 881.'
humanURL: https://trolie.energy/spec-1.0
tags:
- Seasonal
properties:
- type: OpenAPI
url: openapi/trolie-seasonal-api-openapi.yml
- type: Documentation
url: https://trolie.energy/spec-1.0
- type: JSONSchema
url: json-schema/trolie-forecast-proposal-status-schema.json
- type: JSONSchema
url: json-schema/trolie-real-time-proposal-status-schema.json
- type: JSONSchema
url: json-schema/trolie-seasonal-ratings-proposal-status-schema.json
- type: JSONSchema
url: json-schema/trolie-realtime-proposal-schema.json
- type: JSONSchema
url: json-schema/trolie-forecast-limits-snapshot-slim-inputs-used-schema.json
- type: JSONSchema
url: json-schema/trolie-realtime-limits-snapshot-slim-inputs-used-schema.json
- aid: trolie:trolie-seasonal-overrides-api
name: TROLIE Seasonal Overrides API
description: 'A Seasonal Override instructs the system to use a temporary static rating
instead of any concurrent Seasonal Rating for a resource.
A typical use case is a so-called ''de-rate'' due to a temporary clearance
issue for a transmission facility that is exempt from providing AARs.
Exempt facilities typically operate at a seasonal rating. However, instead
of updating the seasonal rating schedule, a Ratings Provider can send a
Seasonal Override.
During the override period, the Clearinghouse uses the Seasonal
Override rating instead of any scheduled seasonal ratings.
For resources required to provide AARs, a Ratings Provider would issue a
Temporary AAR Exception to address temporary conditions requiring a static
rating.'
humanURL: https://trolie.energy/spec-1.0
tags:
- Seasonal Overrides
properties:
- type: OpenAPI
url: openapi/trolie-seasonal-overrides-api-openapi.yml
- type: Documentation
url: https://trolie.energy/spec-1.0
- type: JSONSchema
url: json-schema/trolie-forecast-proposal-status-schema.json
- type: JSONSchema
url: json-schema/trolie-real-time-proposal-status-schema.json
- type: JSONSchema
url: json-schema/trolie-seasonal-ratings-proposal-status-schema.json
- type: JSONSchema
url: json-schema/trolie-realtime-proposal-schema.json
- type: JSONSchema
url: json-schema/trolie-forecast-limits-snapshot-slim-inputs-used-schema.json
- type: JSONSchema
url: json-schema/trolie-realtime-limits-snapshot-slim-inputs-used-schema.json
- aid: trolie:trolie-temporary-aar-exceptions-api
name: TROLIE Temporary AAR Exceptions API
description: "A [Temporary AAR Exception](https://trolie.energy/concepts#temporary-aar-exception) is\nprovided by the Ratings\
\ Provider when a Ratings Obligation cannot be\nfulfilled, due to some temporary operating condition impacting the related\n\
power system resource. This could occur in various scenarios:\n\n * An equipment failure.\n * An unforeseen condition\
\ on a related part of the power grid.\n * Some ambient condition that is not part of the model is heating the\n line,\
\ like a wildfire.\n * Something in the surrounding environment is affecting the amount that a\n line is allowed to\
\ sag. For example, this may occur for lines over\n rivers when very large ships pass under them\n\nA Temporary AAR\
\ Exception serves two main purposes: documenting the reason\nfor the exception and providing a temporary rating value\
\ set. It is employed\nin three distinct circumstances:\n\n1. Firstly, Order 881 mandates documentation and archival of\
\ all use of\n alternate ratings in lieu of AARs. Ratings Providers should continue to\n provide real-time and forecast\
\ ratings for the affected resource, but\n these should match the rating provided with the Temporary AAR Exception\n while\
\ the latter is in effect. This temporary rating, and the reason that\n it occurred, must be captured in history regardless\
\ of the provided\n ratings. The reason and the end date of the effective window may be\n updated after the object has\
\ been created, up to a configurable threshold.\n\n If the Ratings Providers provides ratings that deviate from the\
\ static\n Temporary AAR Exception rating, the Clearinghouse Provider must decide\n whether to use those or the static\
\ rating. The Clearinghouse Provider\n advise its Ratings Providers on how it will choose ahead of time. This\n specification\
\ recommends using the dynamic rating provided, but it does\n not mandate it.\n\n2. Secondly, Temporary AAR Exceptions\
\ apply when the Clearinghouse\n Provider is generating forecast rating proposals on behalf of the Ratings Provider,\
\ e.g., when lookup tables are provided ahead of time by the Ratings Provider.\n Since there is no external ratings,\
\ the Clearinghouse Provider\n wouldn't otherwise know that a temporary static rating is needed. \n\n3. Finally, for\
\ facilities where dynamic ratings are provided, it is\n possible that a communications outage or other issue could prevent\
\ the\n Clearinghouse Provider from receiving the dynamic ratings. In this case,\n the Clearinghouse Provider would\
\ use a Temporary AAR Exception rating."
humanURL: https://trolie.energy/spec-1.0
tags:
- Temporary AAR Exceptions
properties:
- type: OpenAPI
url: openapi/trolie-temporary-aar-exceptions-api-openapi.yml
- type: Documentation
url: https://trolie.energy/spec-1.0
- type: JSONSchema
url: json-schema/trolie-forecast-proposal-status-schema.json
- type: JSONSchema
url: json-schema/trolie-real-time-proposal-status-schema.json
- type: JSONSchema
url: json-schema/trolie-seasonal-ratings-proposal-status-schema.json
- type: JSONSchema
url: json-schema/trolie-realtime-proposal-schema.json
- type: JSONSchema
url: json-schema/trolie-forecast-limits-snapshot-slim-inputs-used-schema.json
- type: JSONSchema
url: json-schema/trolie-realtime-limits-snapshot-slim-inputs-used-schema.json
- aid: trolie:trolie-realtime-api
name: TROLIE Realtime API
description: 'If permitted by the Clearinghouse Provider, its Ratings Providers can use
these functions to exchange real-time ratings, supplementing or replacing
traditional telemetry protocols like ICCP.'
humanURL: https://trolie.energy/spec-1.0
tags:
- Real-Time
tags_raw:
- Realtime
properties:
- type: OpenAPI
url: openapi/trolie-realtime-api-openapi.yml
- type: Documentation
url: https://trolie.energy/spec-1.0
- type: JSONSchema
url: json-schema/trolie-forecast-proposal-status-schema.json
- type: JSONSchema
url: json-schema/trolie-real-time-proposal-status-schema.json
- type: JSONSchema
url: json-schema/trolie-seasonal-ratings-proposal-status-schema.json
- type: JSONSchema
url: json-schema/trolie-realtime-proposal-schema.json
- type: JSONSchema
url: json-schema/trolie-forecast-limits-snapshot-slim-inputs-used-schema.json
- type: JSONSchema
url: json-schema/trolie-realtime-limits-snapshot-slim-inputs-used-schema.json
x-enrichment:
date: '2026-10-09'
status: enriched
artifacts_added: 43
pass: modular-v1
engine: identity=anthropic,contract=anthropic,surfaces=anthropic,docs=anthropic,regulatory=anthropic
TROLIE API — frequently asked questions
Does TROLIE have an API?
Yes. APIs.io lists 6 APIs from TROLIE, including TROLIE Forecasting API, TROLIE Monitoring Sets API and TROLIE Seasonal API, and 3 more.
Is there an OpenAPI specification for the TROLIE API?
Yes. APIs.io indexes 6 OpenAPI specifications for TROLIE, each linked for download from this page.
How do I authenticate with the TROLIE API?
TROLIE documents its authentication (oauth2 · 1 scheme). The details are profiled on APIs.io as Trolie Authentication.
Is the TROLIE API ready for AI agents?
TROLIE has a Kin Score of 43.5 out of 100 (developing) and an Agent Readiness score of 39.6 (agent-ready), scored by API Evangelist on 2026-11-01.
Discovery needs no key. Ratings and market analysis are Pro.
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.