Source: S04 Step 55 → Step 62; clears all data.
Default
POST
/ipc/app/reset
Description
Request parameters
Path parameters
Query parameters
Header parameters
Body parameters
None
Responses
200
Reset successful
Content-Type: application/json
successbooleanOptional
POST
/ipc/auth/disable-password
Description
Source: S04 Step 40 → Step 51
Request parameters
Path parameters
Query parameters
Header parameters
Body parameters
Content-Type:
application/json (required)passwordstringCurrent passwordRequired
Responses
200
Disabled successfully
Content-Type: application/json
successbooleanOptional
401
Incorrect password (EX-43.1)
Content-Type: application/json
codestringMachine-readable error code (e.g. RECORD_SAVE_FAILED)Required
messagestringHuman-readable error messageRequired
POST
/ipc/auth/set-password
Description
Source: S04 Step 27 → Step 36
Request parameters
Path parameters
Query parameters
Header parameters
Body parameters
Content-Type:
application/json (required)passwordstring6-digit numeric PINRequired
minLen: 6; maxLen: 6
Responses
200
Set successfully
Content-Type: application/json
successbooleanOptional
400
Password does not meet requirements (EX-27.1, EX-27.2)
Content-Type: application/json
codestringMachine-readable error code (e.g. RECORD_SAVE_FAILED)Required
messagestringHuman-readable error messageRequired
POST
/ipc/auth/verify-password
Description
Source: S04 Step 11 → Step 22
Request parameters
Path parameters
Query parameters
Header parameters
Body parameters
Content-Type:
application/json (required)passwordstring6-digit numeric PINRequired
minLen: 6; maxLen: 6
Responses
200
Verified successfully
Content-Type: application/json
validbooleanOptional
401
Incorrect password (EX-11.1)
Content-Type: application/json
codestringMachine-readable error code (e.g. RECORD_SAVE_FAILED)Required
messagestringHuman-readable error messageRequired
POST
/ipc/categories/add
Description
Source: S03 Step 12 → Step 19
Request parameters
Path parameters
Query parameters
Header parameters
Body parameters
Content-Type:
application/json (required)namestringCategory nameRequired
minLen: 1; maxLen: 20
Responses
200
Created successfully
Content-Type: application/json
successbooleanOptional
idintegerOptional
400
Invalid parameters (EX-12.1, EX-12.2)
Content-Type: application/json
codestringMachine-readable error code (e.g. RECORD_SAVE_FAILED)Required
messagestringHuman-readable error messageRequired
DELETE
/ipc/categories/delete
Description
Source: S03 Step 34 → Step 41
Request parameters
Path parameters
Query parameters
idintegerCategory IDRequired
Header parameters
Body parameters
None
Responses
200
Deleted successfully
Content-Type: application/json
successbooleanOptional
400
Built-in categories cannot be deleted (EX-12.3)
Content-Type: application/json
codestringMachine-readable error code (e.g. RECORD_SAVE_FAILED)Required
messagestringHuman-readable error messageRequired
GET
/ipc/categories/list
Description
Source: S03 Step 1 → Step 8
Request parameters
Path parameters
Query parameters
Header parameters
Body parameters
None
Responses
200
Success
Content-Type: application/json
idintegerCategory IDOptional
namestringCategory nameOptional
iconstringCategory iconOptional
is_defaultbooleanWhether this is a built-in categoryOptional
created_atstring (date-time)Created atOptional
PUT
/ipc/categories/update
Description
Source: S03 Step 23 → Step 30
Request parameters
Path parameters
Query parameters
Header parameters
Body parameters
Content-Type:
application/json (required)idintegerCategory IDRequired
namestringCategory nameRequired
minLen: 1; maxLen: 20
Responses
200
Updated successfully
Content-Type: application/json
successbooleanOptional
GET
/ipc/records/list
Description
Returns expense records within the given time range.
Request parameters
Path parameters
Query parameters
start_datestringStart date (ISO 8601)Optional
end_datestringEnd date (ISO 8601)Optional
category_idintegerCategory ID (optional)Optional
Header parameters
Body parameters
None
Responses
200
Success
Content-Type: application/json
idintegerRecord IDOptional
amountnumberAmount (CNY)Optional
category_idintegerCategory IDOptional
category_namestringCategory nameOptional
created_atstring (date-time)Created atOptional
remarkstringNotesOptional
POST
/ipc/records/save
Description
Source: S01 Step 8 → Step 15
Request parameters
Path parameters
Query parameters
Header parameters
Body parameters
Content-Type:
application/json (required)amountnumberAmount (must be greater than 0)Required
min: 0.01; max: 999999
category_idintegerCategory IDRequired
remarkstringNotes (optional)Optional
maxLen: 200
Responses
200
Saved successfully
Content-Type: application/json
successbooleanOptional
idintegerOptional
400
Invalid parameters (EX-8.1, EX-8.2)
Content-Type: application/json
codestringMachine-readable error code (e.g. RECORD_SAVE_FAILED)Required
messagestringHuman-readable error messageRequired
500
Database write failed (EX-11.1)
Content-Type: application/json
codestringMachine-readable error code (e.g. RECORD_SAVE_FAILED)Required
messagestringHuman-readable error messageRequired
GET
/ipc/settings/get
Description
Source: S04 Step 1 → Step 6
Request parameters
Path parameters
Query parameters
keystringSetting keyRequired
Header parameters
Body parameters
None
Responses
200
Success
Content-Type: application/json
keystringOptional
valuestringOptional
POST
/ipc/settings/set
Description
Sets or updates one setting.
Request parameters
Path parameters
Query parameters
Header parameters
Body parameters
Content-Type:
application/json (required)keystringSetting keyRequired
valuestringSetting valueRequired
Responses
200
Set successfully
Content-Type: application/json
successbooleanOptional
GET
/ipc/statistics
Description
Source: S02 Step 1 → Step 8
Request parameters
Path parameters
Query parameters
time_rangestringTime rangeOptional
enum: week, month, custom
monthstringMonth (YYYY-MM)Optional
start_datestringCustom start dateOptional
end_datestringCustom end dateOptional
category_idintegerCategory ID (optional)Optional
Header parameters
Body parameters
None
Responses
200
Success
Content-Type: application/json
totalnumberTotal spendingOptional
▼dailyarray[object]Daily spendingOptional
datestringOptional
amountnumberOptional
▼by_categoryarray[object]Totals by categoryOptional
category_idintegerOptional
category_namestringOptional
amountnumberOptional
percentnumberOptional
400
Invalid time range (EX-9.1)
Content-Type: application/json
codestringMachine-readable error code (e.g. RECORD_SAVE_FAILED)Required
messagestringHuman-readable error messageRequired