Skip to content

Endpoints

To use the Omikrons functions a Secure Websocket connection must be established. Where to connect is provided by the Omega Server. All entries are split into Iota & Client. As the Omikron connects the Iota and Client by passing messages from one to the other all Communication from Iota to Client has to contain a receiver_id The Omikron will add a sender_id to Messages from Client to the Iota.

The receiver_id and sender_id of the Omikron server are 22222222-2222-2222-2222-222222222222.

Any message to the Omikron will be ignored until Identification.

{
"id": "<uuid>",
"type": "identification",
"data": {
"iota_id": "<uuid>",
"user_ids": "<uuid>,<uuid>,<uuid>,<uuid>,<uuid>,"
}
}
{
"id": "<uuid>",
"type": "identification_response",
"data": {
"accepted_profiles": "<uuid>,<uuid>,<uuid>,<uuid>,",
"denid_profiles": "<uuid>"
}
}

This is a two step process.

Get a challenge:

{
"id": "<uuid>",
"type": "identification",
"data": {
"user_id": "<user-id>"
}
}
{
"id": "<uuid>",
"type": "challenge",
"data": {
"challenge": "<base64 string>",
"public_key": "<base64 string>"
}
}

Send back the solved challenge:

{
"id": "<uuid>",
"type": "challenge_response",
"data": {
"challenge": "<decrypted challenge>"
}
}
{
"id": "<uuid>",
"type": "identification_response",
"data": {}
}

A ping request comes from the Client or Iota and the Omikron returns a pong answer. The ping request should contain the last Client or Iota ping and the pong answer will contain the last ping of the Omikron.****

{
"id": "<uuid>",
"type": "ping",
"data": {
"last_ping": long
}
}
{
"id": "<uuid>",
"type": "pong",
"data": {
"user_ping": {
"<user-id>": long,
"<user-id>": long
}
}
}
{
"id": "<uuid>",
"type": "ping",
"data": {
"last_ping": long
}
}
{
"id": "<uuid>",
"type": "pong",
"data": {
"last_ping": long
}
}