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
✔️
❌
all error responses have JSON string along with them to describe
all endpoint paths start with api/v{n} where n is whatever version you're requesting e.g api/v2
Usage endpoints
| name |
purpose |
json input |
path |
HTTP Method |
correct status |
return type |
return value |
Jresp |
Jreq |
A |
U |
| GetBal |
retrieving the balance of a given user, {name} |
N/A |
user/balance?name={name} |
GET |
200 |
uint32 |
the user's balance |
✔️ |
❌ |
❌ |
❌ |
| GetLog |
retrieves the logs of a given user, length varies by server configuration |
N/A |
user/log |
GET |
200 |
array of objects |
[{"to":string, "from":string, "amount":uint32, "time":int64}] |
✔️ |
❌ |
❌ |
✔️ |
| GetLogV2 |
retrieves the logs of a given user, length varies by server configuration |
N/A |
user/log |
GET |
200 |
array of objects |
[{"counterparty":string, "receiving":bool, "amount":uint32, "time":int64}] |
✔️ |
❌ |
❌ |
✔️ |
| SendFunds |
sends funds from the authenticated user to the user {name} given in the json |
{"name":string, "amount":uint32} |
user/transfer |
POST |
200 |
uint32 |
the user's balance after the transaction |
✔️ |
✔️ |
❌ |
✔️ |
| VerifyPassword |
verifies the credentials, used for connected services for ease of use |
N/A |
user/verify_password |
POST |
204 |
N/A |
N/A |
✔️ |
❌ |
❌ |
✔️ |
Usage enpoint errors
| name |
400 |
401 |
404 |
406 |
| GetBal |
❌ |
❌ |
✔️ |
✔️ |
| GetLog |
❌ |
✔️ |
✔️ |
✔️ |
| GetLogV2 |
❌ |
✔️ |
✔️ |
✔️ |
| SendFunds |
✔️ |
✔️ |
✔️ |
✔️ |
| VerifyPassword |
❌ |
✔️ |
❌ |
✔️ |
Usage endpoint support
| name |
v1 |
v2 |
| GetBal |
✔️ |
✔️ |
| GetLog |
✔️ |
❌ |
| GetLogV2 |
❌ |
✔️ |
| SendFunds |
✔️ |
✔️ |
| VerifyPassword |
✔️ |
✔️ |
Meta Usage endpoints
| name |
purpose |
json input |
path |
HTTP Method |
correct status |
return type |
return value |
Jresp |
Jreq |
A |
U |
| ChangePassword |
changes the password of the Authenticated user |
{"pass":string} |
user/change_password |
PATCH |
204 |
N/A |
N/A |
✔️ |
✔️ |
❌ |
✔️ |
| AdminChangePassword |
changes the password of a given user {name} |
{"name":string,"pass":string} |
admin/user/change_password |
PATCH |
204 |
N/A |
N/A |
✔️ |
✔️ |
✔️ |
❌ |
| SetBal |
sets the balance of a given user {name} |
{"name":string,"amount":uint32} |
admin/set_balance |
PATCH |
204 |
N/A |
N/A |
✔️ |
✔️ |
✔️ |
❌ |
| ImpactBal |
modifies the user {name}'s balance by {amount} if positive itll add, if negative itll subtract |
{"name":string,"amount":int64} |
admin/impact_balance |
POST |
200 |
uint32 |
new balance after modification |
✔️ |
✔️ |
✔️ |
❌ |
Meta Usage endpoint errors
| name |
400 |
401 |
404 |
406 |
| ChangePassword |
✔️ |
✔️ |
❌ |
✔️ |
| AdminChangePassword |
✔️ |
✔️ |
✔️ |
✔️ |
| SetBal |
✔️ |
✔️ |
✔️ |
✔️ |
| ImpactBal |
✔️ |
✔️ |
✔️ |
✔️ |
Meta Usage endpoint support
| name |
v1 |
v2 |
| ChangePassword |
✔️ |
✔️ |
| AdminChangePassword |
✔️ |
✔️ |
| SetBal |
✔️ |
✔️ |
| ImpactBal |
✔️ |
✔️ |
Sytem Usage endpoints
| name |
purpose |
json input |
path |
HTTP Method |
correct status |
return type |
return value |
Jresp |
Jreq |
A |
U |
| Help |
redirects to GitHub projects Docs |
N/A |
help |
GET |
301 |
N/A |
N/A |
❌ |
❌ |
❌ |
❌ |
| Close |
saves & closes the CCash webserver |
N/A |
admin/shutdown |
POST |
204 |
N/A |
N/A |
✔️ |
❌ |
✔️ |
❌ |
| Contains |
checks wether a user exists |
N/A |
user/exists?name={name} |
GET |
204 |
N/A |
N/A |
✔️ |
❌ |
❌ |
❌ |
| AdminVerifyAccount |
checks wether a user is the admin |
N/A |
admin/verify_account |
POST |
204 |
N/A |
N/A |
✔️ |
❌ |
✔️ |
❌ |
| PruneUsers |
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} |
admin/prune_users |
POST |
200 |
uint64 |
number of users deleted |
✔️ |
✔️ |
✔️ |
❌ |
| ApiProperties |
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 |
❌ |
❌ |
❌ |
System Usage endpoint support
| name |
v1 |
v2 |
| Help |
N/A |
N/A |
| Close |
✔️ |
✔️ |
| Contains |
✔️ |
✔️ |
| AdminVerifyAccount |
✔️ |
✔️ |
| PruneUsers |
✔️ |
✔️ |
| ApiProperties |
N/A |
N/A |
Username Requirements
Valid
- lowercase letters
- numbers
- _
- Length must be atleast 3 and at most 16 characters.
User Management endpoints
| name |
purpose |
json input |
path |
HTTP Method |
correct status |
return type |
return value |
Jresp |
Jreq |
A |
U |
| AddUser |
adding a user with a balance of 0 |
{"name":string,"pass":string} |
user/register |
POST |
204 |
N/A |
N/A |
✔️ |
✔️ |
❌ |
❌ |
| AdminAddUser |
adding a user with an arbitrary balance |
{"name":string,"amount":uint32,"pass":string} |
admin/user/register |
POST |
204 |
N/A |
N/A |
✔️ |
✔️ |
✔️ |
❌ |
| DelSelf |
deletes a user |
N/A |
user/delete |
DELETE |
204 |
N/A |
N/A |
✔️ |
❌ |
❌ |
✔️ |
| AdminDelUser |
deletes a given user {name} |
{"name":string} |
admin/user/delete |
DELETE |
204 |
N/A |
N/A |
✔️ |
✔️ |
✔️ |
❌ |
User Management endpoint errors
| name |
400 |
401 |
404 |
406 |
409 |
| AddUser |
✔️ |
❌ |
✔️ |
✔️ |
✔️ |
| AdminAddUser |
✔️ |
✔️ |
❌ |
✔️ |
✔️ |
| DelSelf |
❌ |
✔️ |
❌ |
✔️ |
❌ |
| AdminDelUser |
✔️ |
✔️ |
✔️ |
✔️ |
❌ |
User Management endpoint support
| name |
v1 |
v2 |
| AddUser |
✔️ |
✔️ |
| AdminAddUser |
✔️ |
✔️ |
| DelSelf |
✔️ |
✔️ |
| AdminDelUser |
✔️ |
✔️ |