Voltus

Voltus is a United States virtual power plant (VPP) operator and distributed energy resource (DER) technology platform, headquartered in San Francisco, California, that aggregates commercial, industrial, residential and transportation loads and batteries into wholesale electricity markets across all of North America's organized markets (AESO, CAISO, ERCOT, IESO, ISO-NE, MISO, NYISO, PJM, SPP). It sits in the demand-response and flexibility layer of the energy value chain: it is not a utility and not a metering data holder, so no Green Button, Consumer Data Right or smart-meter data mandate applies to it — mandate regime is honestly none. Its API posture is unusually good for the sector and unusually split. Voltus runs a genuine public developer portal at api.voltus.co/docs (Docusaurus, no login) with concepts, tutorials, an OpenAPI-generated reference and a changelog, plus a fully anonymous sandbox at sandbox.voltus.co that answers real HTTP requests with the documented public key "X-Voltus-API-Key: secret" — a developer can call it before signing anything. Production, however, is partner-only: api.voltus.co/2022-04-15 returns 401 Permission denied to the sandbox key, and real access requires a commercial partnership plus a signed Letter of Authorization per site. Site telemetry and dispatch control are exposed to partners over that account-scoped REST API and over OpenADR 2.0a Simple HTTP PULL with mutual TLS; Voltus publishes no open grid or market data of its own, so consumer/site energy data is available under contract while market data is closed. No downloadable OpenAPI or Swagger document is served — /openapi.json, /swagger.json and /openapi3.yaml all 404 — but the portal is built with the Docusaurus OpenAPI plugin, and the real operation objects (parameters, request bodies, response schemas, examples) were recovered verbatim from the published build and assembled into openapi/voltus-openapi.yml: 10 operations across 8 paths.

Voltus publishes 4 APIs on the APIs.io network, including Dispatches API, Sites API, Telemetry API, and 1 more. Tagged areas include Energy, United States, Electricity, Demand Response, and Virtual Power Plant.

The Voltus catalog on APIs.io includes 1 event-driven AsyncAPI specification.

Voltus’ developer surface includes authentication, documentation, API reference, getting-started guide, sandbox, changelog, support, and 33 more developer resources.

50.9/100 developing ▬ flat Agent 50/100 agent ready Full breakdown ↓
scored 2026-08-17 · rubric v0.11.0
5 APIs 1 MCP Servers
EnergyUnited StatesElectricityDemand ResponseVirtual Power PlantDERGridEnergy MarketsFlexibilityEnergy StorageOpenADRTelemetry

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-08-17 · rubric v0.11.0
Composite quality — 50.9/100 · developing
Contract Quality 14.0 / 21
Developer Ergonomics 10.6 / 17
Commercial Clarity 5.8 / 17
Operational Transparency 6.4 / 11
Governance 2.1 / 10
Discoverability 6.9 / 9
Regulatory Posture 5.1 / 15
Agent readiness — 50/100 · agent ready
Machine-Readable Contract 18 / 18
Agentic Access Contract 10 / 10
MCP Server 12 / 12
Machine-Readable Auth 10 / 10
Idempotency 0 / 9
Stable Error Semantics 8 / 8
Request/Response Examples 7 / 7
Rate-Limit Signaling 7 / 7
Typed Event Surface 6 / 6
Agent Skills 5 / 5
Well-Known Catalog 0 / 4
Consent & Bot Identity 0 / 3
A2A Agent Card 0 / 8
Dry-Run / Simulate Mode 0 / 4
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.
The six quality facets above are damped to 85 points between them, because the conditional facet above carries the other 15. That is why each facet's contribution is shown against a damped maximum: raising a quality facet moves the composite by 85% of its nominal weight, not 100%. The full arithmetic is at apis.io/rating/.
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. This rating is computed from github.com/api-evangelist/voltus: open an issue to ask a question, or submit a pull request to add artifacts. Want it done for you? Prioritized profiling — $2,500 →

APIs 5

Individual APIs this provider publishes, each with its own machine-readable definition.

Voltus Dispatches API

Grid dispatch events for enrolled sites — list dispatches, retrieve a single dispatch by ID, and create a test dispatch. Documented operations are GET /dispatches ("Returns a li...

Voltus Sites API

Read the sites (facilities) enrolled with Voltus under the calling account, with their meters. The single documented operation is GET /sites ("Returns a list of your sites."), r...

Voltus Telemetry API

Submit and retrieve interval energy telemetry for enrolled sites. Documented operations are POST /telemetry, POST /telemetry/controllable-load ("Posts controllable load.") and G...

Voltus Webhooks API

Register HTTP callbacks so Voltus can push dispatch notifications instead of the partner polling. Documented operations are GET /webhooks ("Returns a list of all webhooks that h...

Voltus OpenADR 2.0a VTN

Standards-based alternative to the REST dispatch integration. Voltus states it "supports OpenADR2.0a via Simple HTTP (PULL)" and that "Voltus provides a VTN, and our partners ru...

Open Collections 1

Open, tool-agnostic API collections (OpenAPI-derived and Bruno).

Voltus API Reference

OPEN COLLECTION

Arazzo Workflows 3

Multi-step API workflows described with the Arazzo specification.

Poll Voltus dispatches and curtail enrolled sites

The core Voltus demand-response loop: resolve your enrolled sites, poll for dispatches, then read the individual dispatch to drive per-site curtailment commitments. Runs end-to-...

ARAZZO

Register a Voltus dispatch webhook and verify it

Move from polling to push: register an HTTPS callback for dispatch.create and dispatch.update, confirm it is listed, then remove it. Delete is permanent.

ARAZZO

Report Voltus telemetry and read it back

Submit interval telemetry and controllable load for an enrolled site, then read interval kW back within Voltus's documented limits (10 sites, 90 days, 10,000 points per site).

ARAZZO

MCP Servers 1

Model Context Protocol servers that expose these APIs to AI agents.

voltus-mcp.yml

MCP SERVER

Rate Limits 1

Documented rate limits and quota policies.

Voltus Rate Limits

2 limits

RATE LIMITS

Event Specifications 1

AsyncAPI definitions for this provider's event-driven and streaming APIs.

Voltus Webhooks

ASYNCAPI

Examples 4

Example request and response payloads for these APIs.

Voltus Get Dispatches 200

3 fields

EXAMPLE

Voltus Get Sites 200

3 fields

EXAMPLE

Voltus Get Webhooks 200

3 fields

EXAMPLE

Security Posture 2

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Voltus Authentication

apiKey/mutualTLS · 2 schemes

SECURITY

Voltus Domain Security

TLSv1.3 · HSTS · DMARC

SECURITY

Agentic Access 1

Recommended x-agentic-access execution contracts for AI agents.

Voltus Agentic Access

10 operations · 5 acting · 2 human-in-the-loop

10 operations · 5 acting

AGENTIC

Resources

Get Started 5

Portal, sign-up, and the first successful call

Documentation 3

Reference material describing how the API behaves

Agent Surfaces 4

MCP servers, agent skills, and machine-readable catalogs

Design & Contract 7

Pagination, idempotency, versioning, errors, and events

Scroll for all 7

Build 5

SDKs, sample code, and the tooling you integrate with

Access & Security 3

Authentication, authorization, and security posture

Learn 1

Tutorials, courses, talks, and written guidance

Operate 5

Status, limits, changes, and where to get help

Commercial 2

Pricing, plans, and the legal terms of use

Company 4

The organization behind the API

Other 1

Properties that don't map to a standard resource type

Source (apis.yml)

apis.yml Raw ↑
aid: voltus
url: https://raw.githubusercontent.com/api-evangelist/voltus/refs/heads/main/apis.yml
name: Voltus
kind: company
description: 'Voltus is a United States virtual power plant (VPP) operator and distributed energy resource (DER) technology
  platform, headquartered in San Francisco, California, that aggregates commercial, industrial, residential and transportation
  loads and batteries into wholesale electricity markets across all of North America''s organized markets (AESO, CAISO, ERCOT,
  IESO, ISO-NE, MISO, NYISO, PJM, SPP). It sits in the demand-response and flexibility layer of the energy value chain: it
  is not a utility and not a metering data holder, so no Green Button, Consumer Data Right or smart-meter data mandate applies
  to it — mandate regime is honestly none. Its API posture is unusually good for the sector and unusually split. Voltus runs
  a genuine public developer portal at api.voltus.co/docs (Docusaurus, no login) with concepts, tutorials, an OpenAPI-generated
  reference and a changelog, plus a fully anonymous sandbox at sandbox.voltus.co that answers real HTTP requests with the
  documented public key "X-Voltus-API-Key: secret" — a developer can call it before signing anything. Production, however,
  is partner-only: api.voltus.co/2022-04-15 returns 401 Permission denied to the sandbox key, and real access requires a commercial
  partnership plus a signed Letter of Authorization per site. Site telemetry and dispatch control are exposed to partners
  over that account-scoped REST API and over OpenADR 2.0a Simple HTTP PULL with mutual TLS; Voltus publishes no open grid
  or market data of its own, so consumer/site energy data is available under contract while market data is closed. No downloadable
  OpenAPI or Swagger document is served — /openapi.json, /swagger.json and /openapi3.yaml all 404 — but the portal is built
  with the Docusaurus OpenAPI plugin, and the real operation objects (parameters, request bodies, response schemas, examples)
  were recovered verbatim from the published build and assembled into openapi/voltus-openapi.yml: 10 operations across 8 paths.'
image: https://api.voltus.co/img/voltus.png
tags:
- Energy
- United States
- Electricity
- Demand Response
- Virtual Power Plant
- DER
- Grid
- Energy Markets
- Flexibility
- Energy Storage
- OpenADR
- Telemetry
created: '2026-07-27'
modified: '2026-07-27'
specificationVersion: '0.19'
apis:
- aid: voltus:voltus-dispatches-api
  name: Voltus Dispatches API
  description: Grid dispatch events for enrolled sites — list dispatches, retrieve a single dispatch by ID, and create a test
    dispatch. Documented operations are GET /dispatches ("Returns a list of dispatches."), POST /dispatches ("Creates a test
    dispatch.") and GET /dispatches/{id} ("Retrieves the dispatch with the given ID."). Dispatch objects carry program, market
    (e.g. MISO), program_type, start/end time, modification_number, optional metadata and per-site drop_by (deprecated) and
    commitment values. Verified live against the public sandbox, with the full operation contracts harvested into openapi/voltus-openapi.yml.
  humanURL: https://api.voltus.co/docs/openapi/dispatches
  baseURL: https://api.voltus.co/2022-04-15
  tags:
  - Demand Response
  - Dispatch
  - Energy Markets
  properties:
  - type: APIReference
    url: https://api.voltus.co/docs/openapi/dispatches
  - type: Documentation
    url: https://api.voltus.co/docs/concepts/demand_response
  - type: Tutorials
    url: https://api.voltus.co/docs/tutorials/create-a-dispatch-integration
  - type: Tutorials
    url: https://api.voltus.co/docs/tutorials/get-sandbox-dispatches
  - type: Tutorials
    url: https://api.voltus.co/docs/tutorials/test-your-dispatch-integration
  - type: Sandbox
    url: https://api.voltus.co/docs/concepts/public-credentials
  - type: Authentication
    url: https://api.voltus.co/docs/openapi/voltus-api-reference
  - type: ChangeLog
    url: https://api.voltus.co/docs/changelog
  - type: OpenAPI
    url: openapi/voltus-openapi.yml
  - type: Examples
    url: examples/voltus-get-dispatches-200.json
  - type: Arazzo
    name: Poll dispatches and curtail enrolled sites
    url: arazzo/voltus-poll-dispatches-and-curtail.yml
  - type: AgentSkill
    name: Receive and act on Voltus grid dispatches
    url: skills/voltus-dispatch-integration.md
- aid: voltus:voltus-sites-api
  name: Voltus Sites API
  description: Read the sites (facilities) enrolled with Voltus under the calling account, with their meters. The single documented
    operation is GET /sites ("Returns a list of your sites."), returning site name, id and customer_location_id, with an asset_type
    field on each meter object added 2026-07-01. Verified live against the public sandbox.
  humanURL: https://api.voltus.co/docs/openapi/sites
  baseURL: https://api.voltus.co/2022-04-15
  tags:
  - Sites
  - Metering
  - DER
  properties:
  - type: APIReference
    url: https://api.voltus.co/docs/openapi/sites
  - type: Tutorials
    url: https://api.voltus.co/docs/tutorials/first-api-request-get-sites
  - type: Sandbox
    url: https://api.voltus.co/docs/concepts/public-credentials
  - type: ChangeLog
    url: https://api.voltus.co/docs/changelog/meter-asset-type
  - type: OpenAPI
    url: openapi/voltus-openapi.yml
  - type: Examples
    url: examples/voltus-get-sites-200.json
  - type: DataModel
    url: data-model/voltus-data-model.yml
- aid: voltus:voltus-telemetry-api
  name: Voltus Telemetry API
  description: Submit and retrieve interval energy telemetry for enrolled sites. Documented operations are POST /telemetry,
    POST /telemetry/controllable-load ("Posts controllable load.") and GET /telemetry/kw ("Returns a list of telemetry readings
    for one or more sites. The maximum number of sites per request is 10. The maximum request interval is 90 days, with a
    limit of 10,000 total data points per site."). This is the site-level customer energy-usage surface — account-scoped to
    the API key holder, not a Green Button or Consumer Data Right style consented third-party feed.
  humanURL: https://api.voltus.co/docs/openapi/telemetry
  baseURL: https://api.voltus.co/2022-04-15
  tags:
  - Telemetry
  - Metering
  - Electricity
  - Flexibility
  properties:
  - type: APIReference
    url: https://api.voltus.co/docs/openapi/telemetry
  - type: Tutorials
    url: https://api.voltus.co/docs/tutorials/get-telemetry
  - type: Tutorials
    url: https://api.voltus.co/docs/tutorials/send-telemetry
  - type: Sandbox
    url: https://api.voltus.co/docs/concepts/public-credentials
  - type: ChangeLog
    url: https://api.voltus.co/docs/changelog/telemetry-controllable-load
  - type: OpenAPI
    url: openapi/voltus-openapi.yml
  - type: RateLimits
    url: rate-limits/voltus-rate-limits.yml
  - type: Arazzo
    name: Report telemetry and read it back
    url: arazzo/voltus-report-and-read-telemetry.yml
  - type: AgentSkill
    name: Report and read Voltus site telemetry
    url: skills/voltus-telemetry-reporting.md
- aid: voltus:voltus-webhooks-api
  name: Voltus Webhooks API
  description: Register HTTP callbacks so Voltus can push dispatch notifications instead of the partner polling. Documented
    operations are GET /webhooks ("Returns a list of all webhooks that have been created."), POST /webhooks and DELETE /webhooks/{id}
    ("Permanently deletes a webhook. It cannot be undone.").
  humanURL: https://api.voltus.co/docs/openapi/webhooks
  baseURL: https://api.voltus.co/2022-04-15
  tags:
  - Webhooks
  - Dispatch
  - Notifications
  properties:
  - type: APIReference
    url: https://api.voltus.co/docs/openapi/webhooks
  - type: Webhooks
    url: https://api.voltus.co/docs/openapi/webhooks
  - type: Documentation
    url: https://api.voltus.co/docs/tutorials/create-a-dispatch-integration
  - type: OpenAPI
    url: openapi/voltus-openapi.yml
  - type: Webhooks
    url: asyncapi/voltus-webhooks.yml
  - type: Examples
    url: examples/voltus-dispatch-webhook-payload.json
  - type: Arazzo
    name: Register a dispatch webhook and verify it
    url: arazzo/voltus-register-webhook-and-verify.yml
  - type: AgentSkill
    name: Register a Voltus webhook and handle dispatch callbacks
    url: skills/voltus-webhook-dispatch-listener.md
- aid: voltus:voltus-openadr-vtn
  name: Voltus OpenADR 2.0a VTN
  description: Standards-based alternative to the REST dispatch integration. Voltus states it "supports OpenADR2.0a via Simple
    HTTP (PULL)" and that "Voltus provides a VTN, and our partners run one or more VENs". Partners poll https://openadr.voltus.co/vtn/YOUR_VEN_ID/OpenADR2/Simple/EiEvent
    (recommended once per minute) and reply with an oadrCreatedEvent acknowledgement. Authentication is mutual TLS — the partner
    submits a Certificate Signing Request to Voltus and presents the returned client certificate. The host is not anonymously
    reachable (connection refused on a bare HTTPS GET), which is consistent with an mTLS-only endpoint.
  humanURL: https://api.voltus.co/docs/concepts/openadr
  baseURL: https://openadr.voltus.co
  tags:
  - OpenADR
  - Demand Response
  - Standards
  - Dispatch
  properties:
  - type: Documentation
    url: https://api.voltus.co/docs/concepts/openadr
  - type: Tutorials
    url: https://api.voltus.co/docs/tutorials/openadr
  - type: ChangeLog
    url: https://api.voltus.co/docs/changelog/sandbox-openadr-support
  - type: Authentication
    url: authentication/voltus-authentication.yml
  - type: Conformance
    url: conformance/voltus-conformance.yml
common:
- type: MCPServer
  url: mcp/voltus-mcp.yml
- type: AgenticAccess
  url: agentic-access/voltus-agentic-access.yml
- type: DomainSecurity
  url: security/voltus-domain-security.yml
- type: Authentication
  url: authentication/voltus-authentication.yml
- type: Website
  url: https://www.voltus.co/
- type: DeveloperPortal
  url: https://api.voltus.co/docs/
- type: Documentation
  url: https://api.voltus.co/docs/
- type: APIReference
  url: https://api.voltus.co/docs/openapi/voltus-api-reference
- type: GettingStarted
  url: https://api.voltus.co/docs/tutorials/first-api-request-get-sites
- type: Tutorials
  url: https://api.voltus.co/docs/tutorials/
- type: Sandbox
  url: https://api.voltus.co/docs/concepts/public-credentials
- type: Authentication
  url: https://api.voltus.co/docs/openapi/voltus-api-reference
- type: ChangeLog
  url: https://api.voltus.co/docs/changelog
- type: Support
  url: mailto:api-support@voltus.co
- type: Blog
  url: https://www.voltus.co/blog
- type: TermsOfService
  url: https://www.voltus.co/legal/terms-of-service
- type: PrivacyPolicy
  url: https://www.voltus.co/legal/privacy-policy
- type: GitHubOrganization
  url: https://github.com/voltus
- type: LinkedIn
  url: https://www.linkedin.com/company/voltus-inc./
- type: OpenAPI
  url: openapi/voltus-openapi.yml
  name: Voltus API (harvested from the developer portal build)
- type: Overlay
  url: overlays/voltus-openapi-overlay.yaml
- type: Examples
  url: examples/voltus-examples.yml
- type: Conventions
  url: conventions/voltus-conventions.yml
- type: ErrorCatalog
  url: errors/voltus-problem-types.yml
- type: RateLimits
  url: rate-limits/voltus-rate-limits.yml
- type: Sandbox
  url: sandbox/voltus-sandbox.yml
  name: Sandbox and test-data profile
- type: Lifecycle
  url: lifecycle/voltus-lifecycle.yml
- type: Deprecation
  url: https://api.voltus.co/docs/changelog/deprecated-field-drop-by
  name: Published deprecation notice (drop_by superseded by commitment)
- type: ChangeLog
  url: changelog/voltus-changelog.yml
  name: Structured changelog
- type: Conformance
  url: conformance/voltus-conformance.yml
- type: Webhooks
  url: asyncapi/voltus-webhooks.yml
- type: DataModel
  url: data-model/voltus-data-model.yml
- type: Packages
  url: packages/voltus-packages.yml
- type: LLMsTxt
  url: llms/voltus-llms.txt
- type: AgentSkill
  url: skills/_index.yml
  name: Voltus agent skills
- type: Arazzo
  url: arazzo/_index.yml
  name: Voltus workflow catalog
- type: SourceCode
  url: https://github.com/voltusdev/voltus-api-examples
  name: Voltus API examples (Python)
- type: GitHubOrganization
  url: https://github.com/voltusdev
- type: Login
  url: https://cashdash.voltus.co/
  name: Cash Dash customer portal
- type: Twitter
  url: https://twitter.com/voltusinc
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com