Client sendet nach Schema:
Zusammenhängde Eingaben werden als Strings in einem Array übertragen.
type = JSON
{
    "query": {
        "query" : <Array of <String>>
    }
}
Server antwortet nach Schema:
type = JSON <Array of <Texture>>
Client sendet nach Schema:
type = JSON
{
    "get_texture": {
        "id" : <UUID>,
    }
}
Server antwortet nach Schema:
type = JSON 
    <Texture>
Oder, wenn Textur nicht gefunden
type = Error
Client sendet nach Schema:
type = JSON
{
    "get_texture_file": {
        "texture_hash" : <Hash>,
    }
}
Server antwortet nach Schema:
type = Binary Textur-Datei
Oder, wenn Textur-Datei nicht gefunden
type = Error
Client sendet nach Schema:
type = JSON
{
    "get_texture_preview": {
        "texture_hash" : <Hash>,
    }
}
Server antwortet nach Schema:
type = Binary Textur-Preview
Oder, wenn Textur-Datei nicht gefunden
type = Error
Diese Request dient dazu alte Texturen zu löschen und neue Hinzufügen. Ein Löschen und gleichzeitiges Hinzufügen, ergibt ein Update der Textur.
Falls "old" != null, wird die hier angebene Textur gelöscht. Wird diese nicht exakt gleich vorgefunden, schlägt diese Anfrage fehl (type = Error). In diesem Fall wird "new" nicht berücksichtigt.
Falls "new" != null, wird die hier angebene Textur zum System hinzugefügt. Sollte die angebene id schon vorhanden sein, schlägt diese Anfrage fehl (type = Error).
Dieser Semantik wurde gewählt, damit ein Update atomar ist und dopplte Anfragen zum Fehlern führen.
Client sendet nach Schema:
type = JSON
{
    "replace_texture": {
        "old": <Texture> | null,
        "new": <Texture> | null,
    }
}
Server antwortet nach Schema:
type = JSON true
Oder falls "texture_hash" nicht gefunden wurde nach Schema:
type = JSON
{
    "get_texture_file": {
        texture_hash : <Hash>,
    }
}
Woraufhin der Client die Textur-Datei sendet:
type = Binary Textur-Datei
Der bestätigt dies dann mit:
type = JSON true