mirror of
https://github.com/Expand-sys/CCash
synced 2025-12-15 15:52:13 +11:00
15 KiB
15 KiB
API endpoints
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 | last change | purpose | json input | path | HTTP Method | correct status | return type | return value | Jresp | Jreq | A | U |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| GetBal | v2.3.0 |
retrieving the balance of a given user, {name} |
N/A |
api/v1/user/balance?name={name} | GET |
200 | uint32 | the user's balance | ✔️ | ❌ | ❌ | ❌ |
| GetLogs | v2.3.0 |
retrieves the logs of a given user, length varies by server configuration (oldest to newest transactions) | N/A |
⚠ api/v1/user/log | GET |
200 | array of objects | [{"to":string, "from":string, "amount":uint32, "time":int64}] | ✔️ | ❌ | ❌ | ✔️ |
| GetLogsV2 | v2.6.1 |
retrieves the logs of a given user, length varies by server configuration (newest to oldest transactions) | N/A |
api/v2/user/log | GET |
200 | array of objects | [{"counterparty":string, "amount":int64, "time":int64}] | ✔️ | ❌ | ❌ | ✔️ |
| GetLogsRange | v2.6.1 |
retrieves the logs of a given user, where {start} is the 0-indexed first log and {length} is the number of logs after that index. |
N/A |
api/v1/user/log_range | GET |
200 | array of objects | [{"counterparty":string, "amount":int64, "time":int64}] | ✔️ | ❌ | ❌ | ✔️ |
| SendFunds | v2.3.0 |
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 | ✔️ | ✔️ | ❌ | ✔️ |
| ChangePassword | v2.3.0 |
changes the password of the Authenticated user | {"pass":string} | api/v1/user/change_password | PATCH |
204 | N/A |
N/A |
✔️ | ✔️ | ❌ | ✔️ |
| VerifyPassword | v2.3.0 |
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 | ❌ | ❌ | ✔️ | ✔️ |
| GetLogs | ❌ | ✔️ | ✔️ | ✔️ |
| GetLogsV2 | ❌ | ✔️ | ✔️ | ✔️ |
| GetLogsRange | ✔️ | ✔️ | ✔️ | ✔️ |
| SendFunds | ✔️ | ✔️ | ✔️ | ✔️ |
| VerifyPassword | ❌ | ✔️ | ❌ | ✔️ |
| ChangePassword | ✔️ | ✔️ | ❌ | ✔️ |
Meta Usage endpoints
| name | last change | purpose | json input | path | HTTP Method | correct status | return type | return value | Jresp | Jreq | A | U |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| AdminGetLogs | v2.6.1 |
retreives the logs of a given user {name}, length varies by server configuration |
N/A |
api/v1/admin/user/log?name={name} | GET |
200 | array of objects | [{"counterparty":string, "amount":int64, "time":int64}] | ✔️ | ❌ | ✔️ | ❌ |
| AdminChangePassword | v2.3.0 |
changes the password of a given user "name" |
{"name":string,"pass":string} | api/v1/admin/user/change_password | PATCH |
204 | N/A |
N/A |
✔️ | ✔️ | ✔️ | ❌ |
| AdminVerifyAccount | v2.3.0 |
checks wether a user is the admin | N/A |
api/v1/admin/verify_account | POST |
204 | N/A |
N/A |
✔️ | ❌ | ✔️ | ❌ |
| SetBal | v2.3.0 |
sets the balance of a given user "name" |
{"name":string,"amount":uint32} | api/v1/admin/set_balance | PATCH |
204 | N/A |
N/A |
✔️ | ✔️ | ✔️ | ❌ |
| ImpactBal | v2.3.0 |
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 |
|---|---|---|---|---|
| AdminGetLogs | ❌ | ✔️ | ✔️ | ✔️ |
| AdminChangePassword | ✔️ | ✔️ | ✔️ | ✔️ |
| AdminVerifyAccount | ❌ | ✔️ | ❌ | ✔️ |
| SetBal | ✔️ | ✔️ | ✔️ | ✔️ |
| ImpactBal | ✔️ | ✔️ | ✔️ | ✔️ |
Sytem Usage endpoints
| name | last change | purpose | json input | path | HTTP Method | correct status | return type | return value | Jresp | Jreq | A | U |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Help | v2.3.0 |
redirects to GitHub projects Docs | N/A |
api/help | GET |
301 | N/A |
N/A |
❌ | ❌ | ❌ | ❌ |
| Close | v2.3.0 |
saves & closes the CCash webserver | N/A |
api/v1/admin/shutdown | POST |
204 | N/A |
N/A |
✔️ | ❌ | ✔️ | ❌ |
| Contains | v2.3.0 |
checks wether a given user {name} exists |
N/A |
api/v1/user/exists?name={name} | GET |
204 | N/A |
N/A |
✔️ | ❌ | ❌ | ❌ |
| PruneUsers | v2.3.0 |
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 | v2.5.1 |
properties of the given instance | N/A |
api/properties | GET |
200 | json object | {"max_log":uint64, "add_user_open":boolean, "return_on_del":string} | ✔️ | ❌ | ❌ | ❌ |
System Usage endpoin errors
| name | 401 | 404 | 406 |
|---|---|---|---|
| Help | ❌ | ❌ | ❌ |
| Close | ✔️ | ❌ | ✔️ |
| Contains | ✔️ | ✔️ | ✔️ |
| PruneUsers | ✔️ | ❌ | ✔️ |
| ApiProperties | ❌ | ❌ | ❌ |
Username Requirements
Valid
- letters
- numbers
- _
- Length must be atleast 3 and at most 16 characters.
User Management endpoints
| name | last change | purpose | json input | path | HTTP Method | correct status | return type | return value | Jresp | Jreq | A | U |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| AddUser | v2.3.0 |
adding a user with a balance of 0 | {"name":string,"pass":string} | api/v1/user/register | POST |
204 | N/A |
N/A |
✔️ | ✔️ | ❌ | ❌ |
| AdminAddUser | v2.3.0 |
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 | v2.3.0 |
deletes a user | N/A |
api/v1/user/delete | DELETE |
204 | N/A |
N/A |
✔️ | ❌ | ❌ | ✔️ |
| AdminDelUser | v2.3.0 |
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 | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |