# Virtual Peaker OAuth Device Discovery (Preferred) API

**Canonical:** https://apis.io/apis/virtual-peaker/virtual-peaker-oauth-device-discovery-preferred-api/  
**Provider:** Virtual Peaker — https://apis.io/providers/virtual-peaker/  
**Base URL:** https://partner.virtualpeaker.io/v1  
**Documentation:** https://assets.virtualpeaker.io/gravity-connect/device-partner-api.html

Virtual Peaker OAuth Device Discovery (Preferred) API is one of 8 APIs that [Virtual Peaker](https://apis.io/providers/virtual-peaker/) publishes on the [APIs.io](https://apis.io/) network, described by a machine-readable OpenAPI specification. Tagged areas include OAuth Device Discovery (Preferred). The published artifact set on APIs.io includes an OpenAPI specification, an API reference, API documentation, an engineering blog, and a getting-started guide.

The OAuth device discovery flow works as follows: 1. The device owner fills out an onboarding form on Virtual Peaker's site. 2. At the end of the form, we redirect them to the Device Partner's OAuth authorization page via a link. 3. The user logs into the Device Partner's app and grants OAuth access permissions. 4. The Device Partner app completes OAuth authorization code flow, exchanging the code for an access token. 5. Using the access token, the Device Partner calls their API to retrieve the user's devices. 6. The Device Partner associates the devices with the correct Virtual Peaker program in their backend. 7. The Device Partner handles any additional onboarding logic in their system. 8. The Device Partner publishes enrolled device data to Virtual Peaker's API. 9. Virtual Peaker discovers devices using the OAuth token provided. 10. We subscribe to devices for data publishing and provide a DEVICE_PUBLISH_SECRET. 11. Virtual Peaker may optionally pull initial device data from the Device Partner's API. For each utility program, a separate client_id is created. This ID is passed in the OAuth link to associate devices with the correct program.

## Operations (2)

| Method | Path | Summary |
|---|---|---|
| GET | `/devices` | Read current user's devices |
| GET | `/user` | Read current user's details |

## Machine-readable artifacts (9)

- **OpenAPI** — https://raw.githubusercontent.com/api-evangelist/virtual-peaker/refs/heads/main/openapi/virtual-peaker-oauth-device-discovery-preferred-api-openapi.yml
- **APIReference** — https://assets.virtualpeaker.io/gravity-connect/device-partner-api.html
- **Documentation** — https://virtual-peaker.com/partners/device-partners/
- **Blog** — https://virtual-peaker.com/blog/gravity-connect-api-oem-derms-integrations/
- **GettingStarted** — https://assets.virtualpeaker.io/gravity-connect/device-partner-api.html#section/Getting-Started
- **APIReference** — https://assets.virtualpeaker.io/gravity-connect/vp-api.html
- **Documentation** — https://virtual-peaker.com/apis/
- **Blog** — https://virtual-peaker.com/blog/gravity-connect-v-openadr/
- **Webhooks** — https://raw.githubusercontent.com/api-evangelist/virtual-peaker/refs/heads/main/asyncapi/virtual-peaker-gravity-connect-webhooks.yml

## Other Virtual Peaker APIs (7)

- [Virtual Peaker Commands API](https://apis.io/apis/virtual-peaker/virtual-peaker-commands-api/)
- [Virtual Peaker Devices API](https://apis.io/apis/virtual-peaker/virtual-peaker-devices-api/)
- [Virtual Peaker Energy Interval Endpoint API](https://apis.io/apis/virtual-peaker/virtual-peaker-energy-interval-endpoint-api/)
- [Virtual Peaker Group Management API](https://apis.io/apis/virtual-peaker/virtual-peaker-group-management-api/)
- [Virtual Peaker Pairing Code Device Discovery - End User App API](https://apis.io/apis/virtual-peaker/virtual-peaker-pairing-code-device-discovery-end-user-app-api/)
- [Virtual Peaker Pairing Code Device Discovery - Utility Commissioned Installation API](https://apis.io/apis/virtual-peaker/virtual-peaker-pairing-code-device-discovery-utility-commissioned-installation-api/)
- [Virtual Peaker Publishing API](https://apis.io/apis/virtual-peaker/virtual-peaker-publishing-api/)

## Tags

OAuth Device Discovery (Preferred)

---

Profiled by [API Evangelist](https://apievangelist.com) and published on [APIs.io](https://apis.io/apis/virtual-peaker/virtual-peaker-oauth-device-discovery-preferred-api/). The API's provider profile, Kin Score and agent-readiness rating are at https://apis.io/providers/virtual-peaker/.
