Franklin Whole Home · Authentication Profile

Franklin Whole Home Authentication

Authentication

Franklin Whole Home secures its APIs with apiKey across 1 declared security scheme, as derived from its OpenAPI definitions.

CompanyEnergyEnergy StorageHome Energy ManagementSolarBatteriesInternet of ThingsSmart HomeElectric VehiclesCleantechDevice Telemetry
Methods: apiKey Schemes: 1 OAuth flows: API key in: header

Security Schemes

AuthorizationToken apiKey
· in: header (Authorization)

Source

Authentication Profile

Raw ↑
generated: '2026-08-16'
method: searched
source: openapi/franklin-whole-home-openapi.yml
docs: https://api.franklinwh.com/
references:
- https://api.franklinwh.com/
- https://www.franklinwh.com/blog/introducing-the-franklinwh-api
summary:
  types:
  - apiKey
  api_key_in:
  - header
  oauth2_flows: []
  model: credential-pair exchanged for an opaque token
schemes:
- name: AuthorizationToken
  type: apiKey
  in: header
  parameter: Authorization
  description: Token returned by POST /api-common/tokenizer (exchange of a `cp` / `ck` credential
    pair). Sent as the raw Authorization header value with no `Bearer ` prefix.
  sources:
  - openapi/franklin-whole-home-openapi.yml
token_issuance:
  operation: tokenizer
  method: POST
  path: /api-common/tokenizer
  credentials:
  - name: cp
    required: true
    note: Credential pair identifier issued to the partner.
  - name: ck
    required: true
    note: Credential pair key issued to the partner.
  security: none
  note: The token endpoint is the only unauthenticated operation in the API.
  lifetime: not published
  refresh: Re-call the same operation; the portal labels it "Update Token".
failure_modes:
- code: 401
  http_status: 200
  msg: wrong token
  note: Token present but invalid or expired. Returned inside a HTTP 200 body.
- code: 403
  http_status: 200
  msg: missing token or token param
  note: Token absent, or cp/ck omitted on the token request. Returned inside a HTTP 200 body.
onboarding:
  model: partner-approval
  sso: FleetView single sign-on — installers sign in with an existing FleetView account
    (https://energy.franklinwh.com/) and the API portal applies the associated device scope,
    avoiding a duplicate account.
  audience: Authorised partners only — third-party system owners and financiers, large and midsize
    installers, and third-party service providers.
  url: https://www.franklinwh.com/apply?role=installer
scopes:
  model: implicit
  note: >-
    No OAuth 2.0 and no scope surface. FranklinWH states the API offers "flexible, granular
    permission controls" and that the portal applies the device scope attached to the FleetView
    account, but publishes no scope, permission or role vocabulary — access is bound to the
    credential pair rather than requested per call. scopes/ is therefore not emitted.
transport_security:
  tls_claim: TLS 1.3
  tls_observed: TLSv1.3
  observed_hosts:
  - test-api.franklinwh.com
  - api.franklinwh.com
  key_storage_claim: FranklinWH states API keys are stored as hashes rather than plaintext.
  source: https://www.franklinwh.com/blog/introducing-the-franklinwh-api
gaps:
- No published token lifetime, expiry semantics or refresh policy.
- No OIDC or OAuth 2.0 metadata — /.well-known/openid-configuration and
  /.well-known/oauth-authorization-server return 404 on every host.
- Authentication and authorisation failures are signalled inside a HTTP 200 body, so standard HTTP
  client auth handling will not fire.