Virtual Peaker website screenshot

Virtual Peaker

Virtual Peaker is a Louisville, Kentucky software company selling grid-edge DERMS and virtual power plant software to United States and Canadian electric utilities — investor-owned utilities, municipal utilities, and rural electric cooperatives. Its platform is sold as three suites: Shift (grid-edge DERMS device control and demand response event dispatch), Relay (customer engagement, enrollment, and incentive processing), and Envision (demand forecasting). Virtual Peaker sits in the private DER-orchestration layer of the energy value chain, between device OEMs behind the meter and the utility back office — it is a vendor, not a utility, not a retailer, and not a data holder, so no consumer energy data right attaches to it. There is no Green Button / ESPI implementation here, no Consumer Data Right obligation, and no open market or grid data of any kind. What it does publish is its own API specification: Gravity Connect, an OpenAPI 3.0.0 contract (v2.0.6) that Virtual Peaker authored and openly published as a vendor-agnostic alternative to OpenADR and IEEE 2030.5 for onboarding and controlling DER devices. Gravity Connect is two-sided — the device OEM implements one half, the VPP platform implements the other — and both halves are readable anonymously as full Redoc API references. The honest posture: a real, downloadable, standards-ambitious API contract that is effectively undiscoverable (it is linked from nowhere on the marketing site) and whose credentials are partner-only, issued per utility program by emailing the Gravity Connect team. The commercial Shift API is named and sold on the marketing site but has no public documentation at all.

Virtual Peaker publishes 2 APIs on the APIs.io network: Gravity Connect API (Device Partner) and Gravity Connect API (Virtual Peaker). Tagged areas include Energy, United States, Utilities, Electricity, and Grid.

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

Virtual Peaker’s developer surface includes authentication, documentation, API reference, engineering blog, support, getting-started guide, changelog, and 27 more developer resources.

53.6/100 developing ▬ flat Agent 35/100 agent ready Full breakdown ↓
scored 2026-08-20 · rubric v0.12.0
AccessPaid
2 APIs 1 MCP Servers
EnergyUnited StatesUtilitiesElectricityGridDemand ResponseDERDERMSVirtual Power PlantEV ChargingSmart ThermostatsEnergy Storage

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-08-20 · rubric v0.12.0
Composite quality — 53.6/100 · developing
Contract Quality 13.2 / 21
Developer Ergonomics 10.4 / 17
Access Clarity 4.7 / 17
Operational Transparency 2.9 / 11
Contract Governance 1.7 / 10
Discoverability 5.7 / 9
Regulatory Posture 11.1 / 15
Agent readiness — 35/100 · agent ready
Machine-Readable Contract 18 / 18
Agentic Access Contract 10 / 10
Documented Reversibility 0 / 6
MCP Server 0 / 12
Machine-Readable Auth 10 / 10
Idempotency 0 / 9
Stable Error Semantics 8 / 8
Request/Response Examples 7 / 7
Rate-Limit Signaling 0 / 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/virtual-peaker: 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 2

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

Gravity Connect API (Device Partner)

The Device Partner half of Virtual Peaker's Gravity Connect specification — the endpoints a device OEM must implement so a VPP or DERMS platform can discover, enroll, read, grou...

Gravity Connect API (Virtual Peaker)

The VPP half of the Gravity Connect specification — the publishing endpoints Virtual Peaker hosts so an integrated device partner can stream device signals, settings, command st...

Postman Collections 1

Ready-to-run Postman collections for exercising this provider's APIs.

Open Collections 2

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

MCP Servers 1

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

Event Specifications 1

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

Security Posture 2

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

Virtual Peaker Authentication

oauth2/hmac · 3 schemes

SECURITY

Virtual Peaker Domain Security

TLSv1.3 · HSTS · DMARC

SECURITY

Scopes 1

OAuth scopes governing access to this provider's APIs.

Virtual Peaker Scopes

3 scopes · clientCredentials/authorizationCode

3 scopes

SCOPES

Agentic Access 1

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

Virtual Peaker Agentic Access

23 operations · 15 acting

23 operations · 15 acting

AGENTIC

Resources

Get Started 4

Portal, sign-up, and the first successful call

Documentation 2

Reference material describing how the API behaves

Agent Surfaces 6

MCP servers, agent skills, and machine-readable catalogs

Design & Contract 6

Pagination, idempotency, versioning, errors, and events

Build 3

SDKs, sample code, and the tooling you integrate with

Access & Security 3

Authentication, authorization, and security posture

Operate 4

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

Source (apis.yml)

apis.yml Raw ↑
aid: virtual-peaker
url: https://raw.githubusercontent.com/api-evangelist/virtual-peaker/refs/heads/main/apis.yml
name: Virtual Peaker
kind: company
description: 'Virtual Peaker is a Louisville, Kentucky software company selling grid-edge DERMS and virtual power plant software
  to United States and Canadian electric utilities — investor-owned utilities, municipal utilities, and rural electric cooperatives.
  Its platform is sold as three suites: Shift (grid-edge DERMS device control and demand response event dispatch), Relay (customer
  engagement, enrollment, and incentive processing), and Envision (demand forecasting). Virtual Peaker sits in the private
  DER-orchestration layer of the energy value chain, between device OEMs behind the meter and the utility back office — it
  is a vendor, not a utility, not a retailer, and not a data holder, so no consumer energy data right attaches to it. There
  is no Green Button / ESPI implementation here, no Consumer Data Right obligation, and no open market or grid data of any
  kind. What it does publish is its own API specification: Gravity Connect, an OpenAPI 3.0.0 contract (v2.0.6) that Virtual
  Peaker authored and openly published as a vendor-agnostic alternative to OpenADR and IEEE 2030.5 for onboarding and controlling
  DER devices. Gravity Connect is two-sided — the device OEM implements one half, the VPP platform implements the other —
  and both halves are readable anonymously as full Redoc API references. The honest posture: a real, downloadable, standards-ambitious
  API contract that is effectively undiscoverable (it is linked from nowhere on the marketing site) and whose credentials
  are partner-only, issued per utility program by emailing the Gravity Connect team. The commercial Shift API is named and
  sold on the marketing site but has no public documentation at all.'
accessModel:
  pricing: paid
  onboarding: partner-only
  trial: false
  try_now: false
  public: false
  label: Paid · Partner-only onboarding
  confidence: high
  source:
  - documentation
  - authentication
  generated: '2026-07-27'
  method: manual
image: https://assets.virtualpeaker.io/gravity-connect/assets/vp_logo.png
tags:
- Energy
- United States
- Utilities
- Electricity
- Grid
- Demand Response
- DER
- DERMS
- Virtual Power Plant
- EV Charging
- Smart Thermostats
- Energy Storage
created: '2026-07-27'
modified: '2026-07-27'
enrichment:
  round: '2026-07-27'
  method: search/generate/derive
  notes: 'Round 2 enrichment. Contract discovery re-run against every host (partner.virtualpeaker.io, partner-dev.virtualpeaker.io,
    assets.virtualpeaker.io, virtual-peaker.com, support.virtual-peaker.com): no additional OpenAPI, no GraphQL, no MCP server,
    no AsyncAPI and no /.well-known/ surface exist. New finds this round: the publicly downloadable Gravity Connect Postman
    collection and the partner-dev environment it points at.'
specificationVersion: '0.23'
apis:
- aid: virtual-peaker:gravity-connect-device-partner-api
  name: Gravity Connect API (Device Partner)
  description: The Device Partner half of Virtual Peaker's Gravity Connect specification — the endpoints a device OEM must
    implement so a VPP or DERMS platform can discover, enroll, read, group, and command its behind-the-meter DER devices.
    Version 2.0.6, OpenAPI 3.0.0, 14 paths / 18 operations across Devices, Commands, Device Partner Driven Enrollment, OAuth
    Device Discovery, Pairing Code Device Discovery (end-user app and utility-commissioned installation), Group Management,
    and an Energy Interval endpoint. The published `servers` entry is the placeholder https://example.com because the OEM,
    not Virtual Peaker, hosts this surface. Secured with OAuth 2.0 — client credentials (scope basic_partner_read_write) for
    platform-to-partner calls, and authorization code (scope user_read) for homeowner-consented device discovery.
  humanURL: https://assets.virtualpeaker.io/gravity-connect/device-partner-api.html
  tags:
  - DER
  - Demand Response
  - Device Control
  - OEM
  - Authentication
  tags_raw:
  - DER
  - Demand Response
  - Device Control
  - OEM
  - OAuth
  properties:
  - type: OpenAPI
    url: openapi/virtual-peaker-gravity-connect-device-partner-api-openapi.yml
  - type: APIReference
    url: https://assets.virtualpeaker.io/gravity-connect/device-partner-api.html
  - type: Documentation
    url: https://virtual-peaker.com/partners/device-partners/
  - type: Blog
    url: https://virtual-peaker.com/blog/gravity-connect-api-oem-derms-integrations/
  - type: Overlay
    url: overlays/virtual-peaker-gravity-connect-device-partner-api-overlay.yaml
  - type: GettingStarted
    url: https://assets.virtualpeaker.io/gravity-connect/device-partner-api.html#section/Getting-Started
- aid: virtual-peaker:gravity-connect-vpp-api
  name: Gravity Connect API (Virtual Peaker)
  description: 'The VPP half of the Gravity Connect specification — the publishing endpoints Virtual Peaker hosts so an integrated
    device partner can stream device signals, settings, command status, and enrollment events back into the platform. Version
    2.0.6, OpenAPI 3.0.0, 5 paths / 5 operations, all under the Publishing tag and all keyed on a per-program PROGRAM_PUBLISH_KEY.
    Base URL https://partner.virtualpeaker.io/v1, confirmed live (AWS API Gateway, anonymous request returns HTTP 403 MissingAuthenticationTokenException).
    Authentication is not OAuth on this side: requests are signed with an HMAC-SHA256 of the request body using a PROGRAM_PUBLISH_SECRET
    or DEVICE_PUBLISH_SECRET and sent as `Authorization: Publish <hmac>`.'
  humanURL: https://assets.virtualpeaker.io/gravity-connect/vp-api.html
  baseURL: https://partner.virtualpeaker.io/v1
  tags:
  - DER
  - Demand Response
  - Publishing
  - Webhook
  - HMAC
  tags_raw:
  - DER
  - Demand Response
  - Publishing
  - Webhooks
  - HMAC
  properties:
  - type: OpenAPI
    url: openapi/virtual-peaker-gravity-connect-vpp-api-openapi.yml
  - type: APIReference
    url: https://assets.virtualpeaker.io/gravity-connect/vp-api.html
  - type: Documentation
    url: https://virtual-peaker.com/apis/
  - type: Blog
    url: https://virtual-peaker.com/blog/gravity-connect-v-openadr/
  - type: Overlay
    url: overlays/virtual-peaker-gravity-connect-vpp-api-overlay.yaml
  - type: Webhooks
    url: asyncapi/virtual-peaker-gravity-connect-webhooks.yml
common:
- type: MCPServer
  url: mcp/virtual-peaker-mcp.yml
- type: AgenticAccess
  url: agentic-access/virtual-peaker-agentic-access.yml
- type: DomainSecurity
  url: security/virtual-peaker-domain-security.yml
- type: OAuthScopes
  url: scopes/virtual-peaker-scopes.yml
- type: Authentication
  url: authentication/virtual-peaker-authentication.yml
- type: Website
  url: https://virtual-peaker.com/
- type: Documentation
  url: https://virtual-peaker.com/apis/
- type: APIReference
  url: https://assets.virtualpeaker.io/gravity-connect/device-partner-api.html
- type: Blog
  url: https://virtual-peaker.com/blog/
- type: BlogRSS
  url: https://virtual-peaker.com/feed/
- type: Support
  url: https://support.virtual-peaker.com/knowledge
- type: SupportCenter
  url: https://support.virtual-peaker.com/knowledge
- type: GitHubOrganization
  url: https://github.com/virtual-peaker
- type: LinkedIn
  url: https://www.linkedin.com/company/virtual-peaker/
- type: PrivacyPolicy
  url: https://virtual-peaker.com/privacy-policy/
- type: TermsOfService
  url: https://virtual-peaker.com/terms-of-use/
- type: ContactForm
  url: https://virtual-peaker.com/company/contact/
- type: PartnerPortal
  url: https://virtual-peaker.com/partners/device-partners/
  name: Device Partners — the marketing entry point for OEM integrations (the Gravity Connect references themselves are linked
    from nowhere on the site)
- type: GettingStarted
  url: https://assets.virtualpeaker.io/gravity-connect/device-partner-api.html#section/Getting-Started
- type: Login
  url: https://utility.virtualpeaker.io/
  name: Utility application sign-in (no self-serve sign-up exists)
- type: Postman
  url: https://assets.virtualpeaker.io/gravity-connect/Gravity%20Connect%20API.postman_collection.json
  name: Gravity Connect API Postman collection — published, anonymously downloadable, 19 requests with HMAC pre-request scripts
- type: LLMsTxt
  url: https://virtual-peaker.com/llms.txt
- type: LLMsTxt
  url: llms/virtual-peaker-llms.txt
- type: llmsTxt
  url: https://virtual-peaker.com/llms.txt
- type: Conventions
  url: conventions/virtual-peaker-conventions.yml
- type: ErrorCatalog
  url: errors/virtual-peaker-problem-types.yml
- type: Lifecycle
  url: lifecycle/virtual-peaker-lifecycle.yml
- type: ChangeLog
  url: changelog/virtual-peaker-changelog.yml
- type: Conformance
  url: conformance/virtual-peaker-conformance.yml
- type: DataModel
  url: data-model/virtual-peaker-data-model.yml
- type: Sandbox
  url: sandbox/virtual-peaker-sandbox.yml
  name: Partner-only development environment (partner-dev.virtualpeaker.io) — no self-serve sandbox
- type: Webhooks
  url: asyncapi/virtual-peaker-gravity-connect-webhooks.yml
- type: AgentSkill
  url: skills/_index.yml
- type: Packages
  url: packages/virtual-peaker-packages.yml
  name: No first-party SDK exists in any registry — recorded as a verified negative
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com