CCash/docs/connected_services/how_to/endpoints.md
2022-12-19 15:45:05 -08:00

14 KiB

API endpoints

PREVIOUS PAGE | NEXT PAGE

KEY

Jresp - Json Response, json must be accepted in the Accept header, be that via application/json or */*, failing to do so results in error 406

Jreq - Json Request, requires application/json as content-type, failing to do so results in error 406

U - User, requires basic auth in the header Authorization. This credential must be a valid user, failing to do so results in error 401

A - Admin, same as U but in addition requires username supplied be equal to the admin account username

⚠ - Deprecated endpoint

- Defunct endpoint

all error responses have JSON string along with them to describe

Usage endpoints

name added on purpose json input path HTTP Method correct status return type return value Jresp Jreq A U
GetBal v1.2.3 retrieving the balance of a given user, {name} N/A api/v1/user/balance?name={name} GET 200 uint32 the user's balance ✔️
GetLog v1.2.3 retrieves the logs of a given user, length varies by server configuration N/A ⚠ api/v1/user/log GET 200 array of objects [{"to":string, "from":string, "amount":uint32, "time":int64}] ✔️ ✔️
GetLogV2 v1.5.3 retrieves the logs of a given user, length varies by server configuration N/A api/v2/user/log GET 200 array of objects [{"counterparty":string, "receiving":bool, "amount":uint32, "time":int64}] ✔️ ✔️
SendFunds v1.2.3 sends funds from the authenticated user to the user {name} given in the json {"name":string, "amount":uint32} api/v1/user/transfer POST 200 uint32 the user's balance after the transaction ✔️ ✔️ ✔️
VerifyPassword v1.2.3 verifies the credentials, used for connected services for ease of use N/A api/v1/user/verify_password POST 204 N/A N/A ✔️ ✔️

Usage enpoint errors

name 400 401 404 406
GetBal ✔️ ✔️
GetLog ✔️ ✔️ ✔️
GetLogV2 ✔️ ✔️ ✔️
SendFunds ✔️ ✔️ ✔️ ✔️
VerifyPassword ✔️ ✔️

Meta Usage endpoints

name added on purpose json input path HTTP Method correct status return type return value Jresp Jreq A U
ChangePassword v1.2.3 changes the password of the Authenticated user {"pass":string} api/v1/user/change_password PATCH 204 N/A N/A ✔️ ✔️ ✔️
AdminChangePassword v1.2.3 changes the password of a given user {name} {"name":string,"pass":string} api/v1/admin/user/change_password PATCH 204 N/A N/A ✔️ ✔️ ✔️
SetBal v1.2.3 sets the balance of a given user {name} {"name":string,"amount":uint32} api/v1/admin/set_balance PATCH 204 N/A N/A ✔️ ✔️ ✔️
ImpactBal v1.2.3 modifies the user {name}'s balance by {amount} if positive itll add, if negative itll subtract {"name":string,"amount":int64} api/v1/admin/impact_balance POST 200 uint32 new balance after modification ✔️ ✔️ ✔️

Meta Usage endpoint errors

name 400 401 404 406
ChangePassword ✔️ ✔️ ✔️
AdminChangePassword ✔️ ✔️ ✔️ ✔️
SetBal ✔️ ✔️ ✔️ ✔️
ImpactBal ✔️ ✔️ ✔️ ✔️

Sytem Usage endpoints

name added on purpose json input path HTTP Method correct status return type return value Jresp Jreq A U
Help v0.1 redirects to GitHub projects Docs N/A api/help GET 301 N/A N/A
Close v1.2.3 saves & closes the CCash webserver N/A api/v1/admin/shutdown POST 204 N/A N/A ✔️ ✔️
Contains v1.2.3 checks wether a user exists N/A api/v1/user/exists?name={name} GET 204 N/A N/A ✔️
AdminVerifyAccount v1.2.3 checks wether a user is the admin N/A api/v1/admin/verify_account POST 204 N/A N/A ✔️ ✔️
PruneUsers v1.2.3 deletes users with most recent transactions older then {time} (if logs are enabled) and have less money then {amount} {"time":int64,"amount":uint32} or just {"amount":uint32} api/v1/admin/prune_users POST 200 uint64 number of users deleted ✔️ ✔️ ✔️
ApiProperties v1.2.3 properties of the given instance N/A api/properties GET 200 json object {"version":uint64,"min_version":uint64_t,"max_log":uint64} and "return_on_del":string if feature is enabled ✔️

System Usage endpoin errors

name 401 404 406
Help
Close ✔️ ✔️
Contains ✔️ ✔️ ✔️
AdminVerifyAccount ✔️ ✔️
PruneUsers ✔️ ✔️
ApiProperties

Username Requirements

Valid

  • lowercase letters
  • numbers
  • _
  • Length must be atleast 3 and at most 16 characters.

User Management endpoints

name added on purpose json input path HTTP Method correct status return type return value Jresp Jreq A U
AddUser v1.2.3 adding a user with a balance of 0 {"name":string,"pass":string} api/v1/user/register POST 204 N/A N/A ✔️ ✔️
AdminAddUser v1.2.3 adding a user with an arbitrary balance {"name":string,"amount":uint32,"pass":string} api/v1/admin/user/register POST 204 N/A N/A ✔️ ✔️ ✔️
DelSelf v1.2.3 deletes a user N/A api/v1/user/delete DELETE 204 N/A N/A ✔️ ✔️
AdminDelUser v1.2.3 deletes a given user {name} {"name":string} api/v1/admin/user/delete DELETE 204 N/A N/A ✔️ ✔️ ✔️

User Management endpoint errors

name 400 401 404 406 409
AddUser ✔️ ✔️ ✔️ ✔️
AdminAddUser ✔️ ✔️ ✔️ ✔️
DelSelf ✔️ ✔️
AdminDelUser ✔️ ✔️ ✔️ ✔️