API Overview
This section documents the public HTTP APIs supported by VWire for external integrations.
It is intentionally limited to interfaces meant for device developers, automation scripts, and external services. Dashboard-internal application routes are not part of this public contract and are not published in this portal.
HTTP API styles
| Interface | Base URL | Authentication | Reference |
|---|---|---|---|
| External HTTP overview | https://app.vwire.io/external/api | Depends on the API style | External HTTP APIs |
| Simple API | https://app.vwire.io/external/api | Device token in the query string | Simple API |
| RESTful API | https://app.vwire.io/external/api/v1 | X-API-Key: vwk_... | RESTful API |
Authentication at a glance
- Simple API: per-device auth token (
iot_...) plus the Simple API toggle enabled in that device's settings. - RESTful API: user API key (
vwk_...) sent in theX-API-Keyheader.
Create API keys in Dashboard -> Account -> API Keys.
Response format
All public HTTP API responses are JSON.
Successful RESTful responses generally follow:
{
"success": true,
"data": { "...": "..." }
}
Successful Simple API responses return endpoint-specific top-level fields such as pin, value, deviceId, or notificationId.
Errors follow:
{
"success": false,
"error": {
"code": "INVALID_API_KEY",
"message": "Invalid or expired API key."
}
}
Common status codes
| Code | Meaning |
|---|---|
200 | OK |
400 | Bad request or validation error |
401 | Missing or invalid authentication |
403 | Feature disabled, plan restriction, or protected pin |
404 | Device or pin not found |
429 | Rate limit exceeded |
Rate limits
| Plan | Requests per minute | Requests per day |
|---|---|---|
| Free | No access | — |
| Pro | 60 | 10,000 |
| Pro Plus | 300 | 100,000 |
| Enterprise | 1,000 | Unlimited |
Rate limit headers are returned on public HTTP API responses:
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 58
X-RateLimit-Reset: 1710756060
Where to go next
- External HTTP APIs for the high-level comparison of the two HTTP integration styles.
- Simple API for token-based device calls.
- RESTful API for header-authenticated external integrations.
- Device provisioning for the factory and claim workflow used during onboarding.
Data format notes
- Timestamps are ISO 8601 strings in UTC.
- Device and notification identifiers are UUIDs.
- Pin values are transported as strings so firmware and services can exchange numeric or textual values consistently.