Authentication
SENS API authenticates requests with an API key sent only in the
X-API-KEY header — this is not a Bearer token, and it is not a query
parameter. A key in the URL (e.g. ?apiKey=...) would leak into server
logs, browser history, and the Referer header, so it isn't supported
anywhere — not in the public API, not in the Swagger UI.
curl -s "https://api.getsens.energy/api/v1/tariffs" \
-H "X-API-KEY: sens_live_your_key_here"
A missing header or an invalid key results in an error response — don't
try to enumerate the correct format by guessing; unauthenticated requests
to protected paths (including Swagger UI) return a "stealth" 404, so as
not to reveal API structure to bots.
Key scoping
Every API key belongs to exactly one organization (client) in the
portal.getsens.energy customer portal and inherits that organization's
plan limits. Keys can be generated and revoked self-service from
Integrations → API Keys.
Access tiers (plans)
SENS offers several plan tiers, differing in request limits and available features:
| Plan | Intended for |
|---|---|
TRIAL | free evaluation period, for testing an integration |
STARTER | smaller integrations, a single product |
GROWTH | production volumes, webhooks |
ENTERPRISE | highest limits, SSE (server-sent events), dedicated sales contact |
Exact limits and pricing are on getsens.energy — the Enterprise plan requires direct sales contact; the other plans are self-service.
Best practices
- Don't embed your API key in frontend/mobile app code — call SENS only from a backend.
- If you're building a polling client, use
delta queries via
sinceinstead of re-fetching the full dataset every time.