Endpoints
User Endpoints
Section titled “User Endpoints”GET /api/get/uuid/<username>
Section titled “GET /api/get/uuid/<username>”{ "type": "success", "log": { "message": "Got uuid for <username>", "log_level": 0 }, "data": { "user_id": "<uuid>" }}GET /api/get/<uuid>
Section titled “GET /api/get/<uuid>”{ "type": "success", "log": { "message": "Got user <uuid>", "log_level": 0 }, "data": { "created_at": int, // UNIX Timestamp "username": "<username>", "display": "<display name>", "avatar": "<base64 avatar>", "about": "<base64 about>", "status": "<status>", "public_key": "<base64 public key>", "sub_level": int, "sub_end": int }}POST /api/change/<uuid>
Section titled “POST /api/change/<uuid>”REQ
{ [ "username" | "display" | "avatar" | "about" | "status" ]: [ "<username>" | "<display>" | "<avatar>" | "<about>" | "<status>" ], "private_key_hash": "<sha256 private key hash>"}RES
{ "type": "success", "log": { "message": "Changed user", "log_level": 0 }}POST /api/change/iota-id/<uuid>
Section titled “POST /api/change/iota-id/<uuid>”REQ
{ "iota_id": "<uuid>", "reset_token": "<base64 random bytes>", "new_token": "<base64 random bytes>"}RES
{ "type": "success", "log": { "message": "Changed iota id for <uuid>", "log_level": 0 }}POST /api/change/keys/<uuid>
Section titled “POST /api/change/keys/<uuid>”REQ
{ "private_key_hash": "<sha256 private key hash>", "public_key": "<base64 public key>", "reset_token": "<base64 random bytes>", "new_token": "<base64 random bytes>"}RES
{ "type": "success", "log": { "message": "Changed keys for <uuid>", "log_level": 0 }}POST /api/register/options/<uuid>
Section titled “POST /api/register/options/<uuid>”REQ
{ "private_key_hash": "<sha256 private key hash>"}RES
{ "type": "success", "log": { "message": "Got registration options for <uuid>", "log_level": 2 }, "data": { "options": "<json>", "salt": "<base64 salt>" }}POST /api/register/verify/<uuid>
Section titled “POST /api/register/verify/<uuid>”REQ
{ "private_key_hash": "<sha256 private key hash>", "attestation": "idk yet"}RES
{ "type": "success", "log": { "message": "Verified <uuid>", "log_level": 2 }}GET /api/login/options/<uuid>
Section titled “GET /api/login/options/<uuid>”{ "type": "success", "log": { "message": "Got login options for <uuid>", "log_level": 2 }, "data": { "options": "<json>", "salt": "<base64 salt>", "credential_id": "<base64 string>" }}POST /api/login/verify/<uuid>
Section titled “POST /api/login/verify/<uuid>”REQ
{ "attestation": "<json>"}RES
{ "type": "success", "log": { "message": "Verified <uuid>", "log_level": 2 }}Iota Endpoints
Section titled “Iota Endpoints”GET /api/register/init
Section titled “GET /api/register/init”The user creation process timeouts after 1 hour.
{ "type": "success", "log": { "message": "Started user registration progress", "log_level": 0 }, "data": { "user_id": "<uuid>" }}POST /api/register/complete
Section titled “POST /api/register/complete”REQ
{ "uuid": "", "username": "", "public_key": "", "private_key_hash": "", "username": "", "iota_id": "", "reset_token": ""}RES
{ "type": "success", "log": { "message": "Created User: <uuid>", "log_level": 0 }}POST /api/delete/<uuid>
Section titled “POST /api/delete/<uuid>”REQ
{ "reset_token": ""}RES
{ "type": "success", "log": { "message": "Deleted User: <uuid>", "log_level": 0 }}Omikron Endpoints
Section titled “Omikron Endpoints”GET /api/get/private-key-hash/<uuid>
Section titled “GET /api/get/private-key-hash/<uuid>”Header: Authorization <omikron uuid>
Header: PrivateKeyHash <sha256 private key hash>
{ "type": "success", "log": { "message": "Got private key hash for <uuid>", "log_level": 1 }, "data": { "matches": boolean }}GET /api/get/iota-id/<uuid>
Section titled “GET /api/get/iota-id/<uuid>”Header: Authorization <omikron uuid>
{ "type": "success", "log": { "message": "Got iota id for <uuid>", "log_level": 1 }, "data": { "iota_id": "<uuid>" }}