Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
openapi: 3.2.0
info:
title: FranklinWH Modification Records API
version: '1.0'
summary: Partner API for the FranklinWH (Franklin Whole Home) residential energy storage platform.
description: Machine-readable rendering of the FranklinWH partner API as published by FranklinWH's own API portal at https://api.franklinwh.com/ (portal title `FWH-API-Service`, author `FWH`, version 1.0).
contact:
name: FranklinWH Support
email: service@franklinwh.com
url: https://www.franklinwh.com/support/contact/
x-provenance:
method: derived
source: https://api.franklinwh.com/js/apiList-eQeWKe2I.js
source_portal: https://api.franklinwh.com/
derived: '2026-08-16'
note: Converted from the FranklinWH API portal's own published operation catalogue. Operations, parameters and request examples are verbatim from that catalogue; no operation, parameter or schema was invented.
servers:
- url: https://test-api.franklinwh.com
description: Free test environment - the only base URL FranklinWH publishes publicly (portal `host` / `basePath`).
security:
- AuthorizationToken: []
tags:
- name: Modification Records
description: Audit log of setting changes.
paths:
/api-common/fetchOperationLog:
get:
tags:
- Modification Records
summary: Query Modification Records
operationId: fetchOperationLog
description: Query modification records, the time span should not exceed 1 month
parameters:
- name: optRecordsType
in: query
required: true
schema:
type: integer
description: 'Type. 0.All 1: Modify or Delete a Site 2: Edit Device Information 3: Set Energy Management Parameters 4: Set TOU Parameters 5: Set aPower Switch 6: Set Smart Circuits 7: Set Grid Events 8: Query Upgrade Record List 9: Set Grid Package 10: Set Grid Interconnection Compliance 11: Commissioning parameters'
- name: deviceId
in: query
required: false
schema:
type: string
description: Device ID
- name: siteId
in: query
required: false
schema:
type: integer
description: Site ID
- name: queryDate
in: query
required: false
schema:
type: string
description: Date
- name: current
in: query
required: false
schema:
type: integer
description: Current Page. Defaults to the first page if not posted
- name: pageSize
in: query
required: false
schema:
type: integer
description: Display quantity per page. The default number is 20 if not posted. Maximum is 50
responses:
'200':
description: Envelope response. Non-zero `code` values (401 wrong token, 403 missing token or token param) are returned inside the envelope with HTTP 200.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiEnvelope'
'404':
description: Unknown path.
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
components:
schemas:
NotFoundError:
type: object
description: Framework 404 body returned for unknown paths.
properties:
timestamp:
type: string
format: date-time
path:
type: string
status:
type: integer
error:
type: string
message:
type:
- string
- 'null'
requestId:
type: string
examples:
- timestamp: '2026-08-16T17:23:07.914+00:00'
path: /
status: 404
error: Not Found
message: null
requestId: 1748b892-1427296
ApiEnvelope:
type: object
description: Response envelope used by every operation. Observed live on https://test-api.franklinwh.com.
properties:
code:
type: integer
description: Result code. 401 = wrong token, 403 = missing token or token param.
msg:
type: string
description: Human-readable result message.
data:
description: Operation payload. FranklinWH does not publish payload schemas; shape varies per operation.
examples:
- code: 401
msg: wrong token
securitySchemes:
AuthorizationToken:
type: apiKey
in: header
name: Authorization
description: Token returned by POST /api-common/tokenizer (exchange of a `cp` / `ck` credential pair).