Secured Storage API
							Upload File
request:
POST /api/storage/upload
{
  token:    "aae8c1f4ea9bb70812da0d3fc5d8797f",
  filename: "cube.gcode",
  data:     "Base64 encoded file",
  hash:     "18fbcb31fc1874a984a14d9a662a7713"
}
response:
{
  result: TRUE,
  fileId: 1001
}
			                Delete File
request:
POST /api/storage/delete
{
  token: "aae8c1f4ea9bb70812da0d3fc5d8797f",
  fileId: 1001
}
response:
{
  result: TRUE
}
						 
						
							Secured 3D file streaming API
			                Start Streaming
request:
POST /api/streaming/start
{
  token:     "aae8c1f4ea9bb70812da0d3fc5d8797f",
  fileId:    1001,
  printerId: 101
}
response:
{
  result: TRUE
}
						 
							
						
						
							3D Printer API
			                Report Printer State
request:
POST /api/printer/state
{
  token:                "aae8c1f4ea9bb70812da0d3fc5d8797f",
  printerId:            101,
  platform_temperature: 120,
  head_temperatures:    {240, 0},
  status:               "printing"
}
response:
{
  result: TRUE
}
			                Get block of GCodes
request:
GET /api/printer/gcodes
{
  token:       "aae8c1f4ea9bb70812da0d3fc5d8797f",
  blockNumber: 1
}
response:
{
  result: TRUE,
  gcodes: "Base64 encoded GCodes",
  hash:   "a9185565db236b35f5eb75caa2936bb0"
}
						 
						
						
						
							3D API
							Send File to Qualification
request:
POST /api/qualification
{
  token: "aae8c1f4ea9bb70812da0d3fc5d8797f",
  fileId: 1001,
  printerTypes:
  {
    "replicator2X",
    "replicator2",
    "ultimaker"
  }
}
response:
{
  result:          TRUE,
  qualificationId: 201
}
			                Get Qualification Result
request:
GET /api/qualification
{
  token:           "aae8c1f4ea9bb70812da0d3fc5d8797f",
  qualificationId: 201
}
response:
{
  result: TRUE,
  printerTypes:
  {
    replicator2X: {status: "valid", description: ""},
    replicator2:  {status: "valid", description: ""},
    ultimaker:    {status: "invalid", description: ""}
  }
}